CMake 支持 gdb 的设置也很容易,只需要指定 Debug 模式下开启 -g 选项:


You
You 2023-12-31 01:42:02 66718
分类专栏: 资讯

支持 gdb

让 CMake 支持 gdb 的设置也很容易,只需要指定 Debug 模式下开启 -g 选项:

设置(CMAKE_BUILD_TYPE“调试”)
设置(CMAKE_CXX_FLAGS_DEBUG“$ENV{CXXFLAGS} -O0 -Wall -g -ggdb”)
设置(CMAKE_CXX_FLAGS_RELEASE“$ENV{CXXFLAGS} -O3 -Wall”)

之后可以直接对生成的程序使用 gdb 来调试。

2.6添加环境检查

本节对应的源代码所在目录:Demo6。

有时候可能要对系统环境做点检查,例如要使用一个平台相关的特性的时候。在这个例子中,我们检查系统是否自带 pow 函数。如果带有 pow 函数,就使用它;否则使用我们定义的 power 函数。

添加 CheckFunctionExists 宏

首先在顶层 CMakeLists 文件中添加 CheckFunctionExists.cmake 宏,并调用 check_function_exists 命令测试链接器是否能够在链接阶段找到 pow 函数。

# 检查系统是否支持 pow 函数
include (${CMAKE_ROOT}/Modules/CheckFunctionExists.cmake)
check_function_exists (pow HAVE_POW)

将上面这段代码放在 configure_file 命令前。

预定义相关宏变量

接下来修改 config.h.in 文件,预定义相关的宏变量。

// 平台是否提供pow功能?
#cmake定义HAVE_POW

在代码中使用宏和函数

最后一步是修改 main.cc ,在代码中使用宏和函数:

#ifdef HAVE_POW 
    printf("现在我们使用标准库。\n");
    双结果 = pow(底数, 指数); 
#else 
    printf("现在我们使用我们自己的数学库。\n");
    双结果 = 幂(底数,指数);
#万一

网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。

本文链接:https://www.xckfsq.com/news/show.html?id=33136
赞同 0
评论 0 条
YouL0
粉丝 0 发表 582 + 关注 私信
上周热门
Kingbase用户权限管理  2033
信刻全自动光盘摆渡系统  1763
信刻国产化智能光盘柜管理系统  1433
银河麒麟添加网络打印机时,出现“client-error-not-possible”错误提示  1034
银河麒麟打印带有图像的文档时出错  941
银河麒麟添加打印机时,出现“server-error-internal-error”  727
麒麟系统也能完整体验微信啦!  669
统信桌面专业版【如何查询系统安装时间】  648
统信操作系统各版本介绍  641
统信桌面专业版【全盘安装UOS系统】介绍  611
本周热议
我的信创开放社区兼职赚钱历程 40
今天你签到了吗? 27
信创开放社区邀请他人注册的具体步骤如下 15
如何玩转信创开放社区—从小白进阶到专家 15
方德桌面操作系统 14
我有15积分有什么用? 13
用抖音玩法闯信创开放社区——用平台宣传企业产品服务 13
如何让你先人一步获得悬赏问题信息?(创作者必看) 12
2024中国信创产业发展大会暨中国信息科技创新与应用博览会 9
中央国家机关政府采购中心:应当将CPU、操作系统符合安全可靠测评要求纳入采购需求 8

添加我为好友,拉您入交流群!

请使用微信扫一扫!