在 MacOS 上使用 CLion+Boost 简易教程

最近要用 C 写一个比较大的项目,里面有非常多的模块,而且不容易整个项目一起跑,于是准备使用 CLion + Boost 来进行单元测试,搭建环境花了挺久的,记一下吧!

一、选型

CLion说它支持 BoostTest ,支持 GoogleTest ,支持 CatchFramework 。这里我代码是用 c 写的,查了一下好像说用 BoostTest  最方便,也没多想,就用了 Boost,可能另外两个也不错吧!

二、安装 Boost

不废话,一句就可以了

具体装到哪,好像就是最常见的那个地方,可能因为使用 brew 的人太多了,导致当今的 CMake 都会默认从那里面寻找组件,所以这里可以认为是装好了。

三、在 CLion 中使用

因为我不大会 boost 的语法,所以只能给一些简单的案例,先修改 CMake。

注意第三行,这里一定要将单元测试编译为可执行文件,因为boost的设计似乎不是去加载 library(static 和 shared 都是不可以的),而是执行可执行程序,因为会出这个报错。

这里写一个简单的 cpp 代码,需要注意的一点是,boost 提供的 API本身是针对 cpp 写的,所以一定要用 boost_wrapper.cpp  不能用 boost_wrapper.c ,不然宏定义会挂,无法编译通过。而又会有一个问题,cpp 里的函数声明和 c 里的函数声明有不一致的地方,可能差几个字节或者下划线,所以如果 cpp 去包含 c 的头文件,一定要处理好,加上 extern "C"  的标记,这里只有单个文件,所以没关系。

之后在 BOOST_AUTO_TEST_CASE  左边会出现一个绿绿的剪头,点击就可以让 CLion 帮我们测试了。

整个目录结构是:

四、效果

非常友好!

五、其他 tips

编译链接时候会很卡,因为链接出来的东西可能比较大吧,耐心一点。

 


=============================================================
随着访客的增多,LeadroyaL在本站流量的开支越来越多了,曾经1元能用1个月,现在1元只能用3天。如果觉得本文帮到了你,希望能够为服务器的流量稍微打赏一点,谢谢!

发表评论

电子邮件地址不会被公开。 必填项已用*标注

*

code