VSCode + CMake + googletest 基本入门

  • Post author:
  • Post category:其他


近期在学习Ubuntu上cpp编程的内容,整理以下VSCode与cpp相关的开发环境部署内容,以及gtest测试(后面看一下如何进行覆盖度测试)



准备工作

OS: Ubuntu 16.04 LTS

步骤:

  1. 配置VSCode开发环境
  2. 安装GTest
  3. 项目实例



1. 配置VSCode开发环境



1.1 安装VSCode

这里采用是从

VScode官网

下载.deb文件进行安装。

在这里插入图片描述

安装完成后,打开VSCode,主界面如下:

在这里插入图片描述



1.2 插件配置

通过左侧的Extension安装插件,操作如下

在这里插入图片描述

需要安装的插件有

C/C++ (Microsoft)

CMake Tools(Microsoft)

GitLens(Eric Amodio)



2. CMake安装与测试



2.1 CMake安装

我的笔记本中已经安装了cmake,因此这部分没有进行安装测试。

在terminal下键入依次以下命令进行CMake的安装

wget https://cmake.org/files/v3.14/cmake-3.14.5-Linux-x86_64.tar.gz
tar -xvf cmake-3.14.5.tar
cd cmake-3.14.5
./bootstrap 
make
make install

个人的偏好,如果要一键安装,可将上述的语句写入到一个install_cmake.sh的文件中,chmod为777.

执行结束后,在terminal中执行

cmake --version

查看安装版本号。



2.2 CMake测试

在VSCode中打开一个新建的Folder,并新建

main.cpp

文件,内容很简单,hello world。

#include <iostream>

using namespace std;

int main(){
    cout<<"Hello World!"<<endl;
    return 0;
}

按【F1】后进行CMake的配置

在这里插入图片描述

选择一个编译器,这里我选择了GCC for x86_64-linux-gnu 5.4.0

在这里插入图片描述

选择结束后,右侧提示CMakeLists.txt还不存在,需要创建一个CMakeLists.txt,点击Create创建,在上方填入项目名,选择executable,回车即可,生成的CMakeLists.txt如下所示

cmake_minimum_required(VERSION 3.0.0)
project(Project VERSION 0.1.0)

include(CTest)
enable_testing()

add_executable(Project main.cpp)

set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

按【F7】进行编译,编译结束后,在build路径下执行

./Project

,可以看到输出了Hello World!



3. GTest安装与测试



3.1 GTest安装

# 下载最新的release 并保存为 googletest-1.8.1.tar.gz
wget -O googletest-1.8.1.tar.gz https://github.com/google/googletest/archive/release-1.8.1.tar.gz
# 解压
tar -zxf googletest-1.8.1.tar.gz
# 进入解压后的目录
cd googletest-release-1.8.1
# 为编译创建一个目录
mkdir build && cd build
cmake ..
make
# 安装
sudo make install



3.2 GTest测试

#include <gtest/gtest.h>

int add(int a, int b){
    return a+b;
}

TEST(testCase, test0){
    EXPECT_EQ(add(2,3),5);
}

int main(int argc, char **argv){
    testing::InitGoogleTest(&argc,argv);
    return RUN_ALL_TESTS();
}

执行下列命令

g++ test.cpp -lgtest -lpthread
./a.out

在这里插入图片描述



整体配置

项目的大致结构简单定义如下

├── CMakeLists.txt
├── main.cpp
├── src
│   └── myproject
│       └── myclass.hpp
└── test
    ├── CMakeLists.txt
    └── test_my_class.cpp

挖坑,这周补上。

这里参考https://blog.csdn.net/joelcat/article/details/90766192



版权声明:本文为qq_26915769原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。