VSCode + CMake + googletest 基本入门

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

准备工作

OS: Ubuntu 16.04 LTS
步骤:

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

1. 配置VSCode开发环境

1.1 安装VSCode

这里采用是从VScode官网下载.deb文件进行安装。
VSCode + CMake + googletest 基本入门_第1张图片
安装完成后,打开VSCode,主界面如下:
VSCode + CMake + googletest 基本入门_第2张图片

1.2 插件配置

通过左侧的Extension安装插件,操作如下
VSCode + CMake + googletest 基本入门_第3张图片
需要安装的插件有
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 

using namespace std;

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

按【F1】后进行CMake的配置
VSCode + CMake + googletest 基本入门_第4张图片
选择一个编译器,这里我选择了GCC for x86_64-linux-gnu 5.4.0
VSCode + CMake + googletest 基本入门_第5张图片
选择结束后,右侧提示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 

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

VSCode + CMake + googletest 基本入门_第6张图片

整体配置

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

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

挖坑,这周补上。

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

你可能感兴趣的:(ubuntu,VSCode,CMake,GTest)