准备C/C++编程环境CLion

准备C/C++编程环境CLion

1. 基本环境

本文的编译及运行环境是Ubuntu 22.04 64Bit,IDE为CLion,后续的单元测试会使用GoogleTest在CLion中运行,环境大家可参考,Ubuntu与MacOS差别不大,Windows上如果CLion后续有差异导致地内容有误,还请联系我进行修订。QQ189650615

2. 创建一个空的C++工程

在CLion中创建一个空的C++工程,点击菜单File->New->Project...

New Project

工程文件树如下:

gmc
├── CMakeLists.txt
├── external
├── src
│   ├── gmc.c
│   └── gmc.h
└── tests
    └── gmc_tests.cpp

目录说明:

  1. external用于放置一些第三方库,主要是放GoogleTest
  2. src为源码目录
  3. tests为单元测试目录

gmc.h文件内容:

#ifndef GMC_GMC_H
#define GMC_GMC_H

#ifdef __cplusplus
extern "C" {
#endif

    int add(int a, int b);

#ifdef __cplusplus
}
#endif

#endif //GMC_GMC_H

gmc.c文件内容:

#include "gmc.h"

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

3. 集成GoogleTest环境

从Github下载最新的GoogleTest,本文编写时的最新版本是1.13.0,路径如下:

https://github.com/google/googletest/archive/refs/tags/v1.13.0.tar.gz

下载后,文件名重命名为googletest-1.13.0.tar.gz,将其放置在external目录中,文件树如下:

gmc
├── CMakeLists.txt
├── external
│   └── googletest-1.13.0.tar.gz
├── src
│   ├── gmc.c
│   └── gmc.h
└── tests
    └── gmc_tests.cpp

更新CMakeLists.txt,内容如下:

cmake_minimum_required(VERSION 3.22)
project(gmc)

set(CMAKE_CXX_STANDARD 14)
set(GOOGLETEST_VERSION 1.13.0)

include(FetchContent)
FetchContent_Declare(
        googletest
        URL ${PROJECT_SOURCE_DIR}/external/googletest-1.13.0.tar.gz
)
# For Windows: Prevent overriding the parent project's compiler/linker settings
set(gtest_force_shared_crt ON CACHE BOOL "" FORCE)
FetchContent_MakeAvailable(googletest)

enable_testing()

include_directories(src)
add_executable(gmc src/gmc.h src/gmc.c tests/gmc_tests.cpp)

target_link_libraries(
        gmc
        GTest::gtest_main
)

include(GoogleTest)
gtest_discover_tests(gmc)

gmc_tests.cpp文件内容如下:

#include <gtest/gtest.h>
#include "gmc.h"

TEST(GMCTest, test1) {
    ASSERT_EQ(12, add(4, 8));
}

运行单元测试,在CLion中添加一个GoogleTest,点击菜单Run->Edit Configurations...

Run Configurations

添加成功后,运行单元测试,运行结果如下:

Run Tests

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值