首先代码中定义了使用宏的模块:
在任何位置都可以使用宏

#ifndef UNIT_TESTif(m_stop) {break;}std::cout << "thread is going on." << std::endl;int sz = read(cmd, maxSz);assert(("sz can't less than 0", sz >= 0));if(sz > 0) {       BackendMessageProcessor::getInstance()->processMessage(cmd, sz);//m_stop = true;continue;}else{std::cout << "no msg is recvd" << std::endl;continue;}
#elsestd::cout << "use macro to test." << std::endl;read(cmd, maxSz);write(data_backtoCsdaq, sz_databack);break;
#endif

然后想要用cmake使用宏的话,CMakeLists中预定义:

IF(UNIT_TEST)ADD_DEFINITIONS(-DUNIT_TEST)
ENDIF(UNIT_TEST)

然后在终端界面下输入命令:

mkdir build
cd build
cmake -D UNIT_TEST=1 ..

即可得到宏模块内的输出结果。
以上。

CMake使用宏编译测试相关推荐

  1. Qt之CMake和MinGW编译OpenCV

    这里编译的是最新版OpenCV3.4.3,编译过程比较曲折,大部分编译错误都可以查得到解决方法,也遇到了Google无果的错误,好在最后还是解决了,特此记录. 编译环境 win10-64bit Qt5 ...

  2. Keil中使用宏编译来定义DEBUG输出

    使用宏编译来格式化调试信息,是一个不错的方法,即可以在需要的时候打印出信息,还可以格式化我们所需要的输出. #define DEBUG 1 #if (DEBUG == 1) #define DBG(A ...

  3. mysql5.7 cmake源码编译安装

    mysql5.7 cmake源码编译安装, -----该文章的知识点是一个大牛总结的,我这里只是加工了一下,非原创文章. 搜狐开源镜像站:http://mirrors.sohu.com/ 网易开源镜像 ...

  4. 第7课第2节_Binder系统_c++实现_编译测试

    设置执行环境: .setenv lunch 23(.full_tiny4412-eng)进入到代码所在目录执行mmm . 七. Binder系统之服务的c++实现 1. 编写代码 参考文件: fram ...

  5. 在Ubuntu上安装NTL库以及编译测试

    文章目录 介绍: 步骤: 0. 下载前的准备 1. 下载GMP并解压 2. 下载NTL并解压 3. 对GMP进行编译 4. 对NTL进行编译 编译测试: 关于wsl下载和文件权限: 参考资料: 介绍: ...

  6. Jenkins搭建.NET自动编译测试并实现半增量部署

    @hzl201 2020-04-13 09:26 字数 18724 阅读 3353 Jenkins搭建.NET自动编译测试并实现半增量部署 运维 jenkins 前言 以前写前端项目打包部署,都是手动 ...

  7. CMake入门教程【手册篇】CMake生成与编译项目

    CMake构建项目与编译过程 文章目录 1.CMake构建与编译项目流程 2.CMake支持的所有平台 3.编译运行指令 windows minggw windows visual studio wi ...

  8. vscode+cmake多文件编译C++

    vscode+cmake多文件编译C++ github主页:https://github.com/Taot-chen 一.准备工作 1.安装MinGW并把它添加到系统环境变量中(如果之前配置过C++的 ...

  9. windows vs2017 编译测试libzip

    1 下载 libzip-1.8.0 zlib-1.2.11 解压到H:\devel(自定义) 2 打开工具 打开vs 2017的开发人员命令提示符 3 编译zlib cd cd devel\zlib- ...

最新文章

  1. 数控四轴四面 CUBE 应用的软件开发
  2. linux运维实战练习
  3. 驾照考试(科目三-大路)
  4. 从零开始学习jQuery (二) 万能的选择器
  5. 一个好用的Chrome扩展应用,Neater Bookmarks
  6. 安全地创建和存储密码
  7. 求离散马尔科夫链的平稳分布+按照一定概率分布生成想要的样本
  8. 在阿里云服务器Windows Server 2012r IIS 上部署.NET网站
  9. Linux查看版本信息及CPU内核、型号等
  10. java存档_Java实现简单棋盘存档和读取功能
  11. python下载电影链接_Python:输入电影名,爬获取到阳光电影网中对应名称的迅雷下载链接,获取的链接有点问题(具体问题在内容里)...
  12. sap 双计量单位_“双计量单位”解决方案解决不同入库问题
  13. OSChina 周日乱弹 —— 这二叉树长得,标致!
  14. 沪股通、深股通、港股通、陆股通
  15. android studio中的模拟器,使用Android Studio创建Andorid模拟器
  16. ecshop linux 大小写,ecshop敏感词管理
  17. agv调度matlab程序,4款agv调度控制系统应用软件
  18. 如何运用计算机制作合同书,Word 2007 制作一份专业合同书实例WORD2007 -电脑资料...
  19. hdu 4696 Answers
  20. 应用“真心话大冒险”已更新到marketplace中

热门文章

  1. golang 域名 转 ip
  2. 经典SQL语句大全-【转载自】博客园,作者博客:YuBinfeng's Technology Blog
  3. Facebook多账号运营如何防关联
  4. 智慧工地 | 数字孪生楼宇施工管理平台
  5. 手机功能测试抓log方式(四种)
  6. 计算机网络实验 数据链路4-6章 问答题
  7. FLASH大厅安装错误3070修复解决方案
  8. 用思维导图赏析老舍话剧著作《茶馆》
  9. 微信小程序 学习第一天
  10. linux 读取内存颗粒,Linux中的内存管理模型浅析