专栏首页YZh学习记录CMAKE学习记录(二)
原创

CMAKE学习记录(二)

1. cmake 编译类型

以debug模式为例

方式1:

cmake .. -DCMAKE_BUILD_TYPE=Debug  #根据cmake参数来设置编译类型

若命令行直接cmake ..一般是编译成Release模式

方式2:

在CMakeLists.txt 中 进行设置

SET(CMAKE_BUILD_TYPE “Debug”)

方式3:

if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
  message("Setting build type to 'RelWithDebInfo' as none was specified.")
  set(CMAKE_BUILD_TYPE Debug CACHE STRING "Choose the type of build." FORCE)

2. 加载第三方库 cmake

# 找到boost特定版本,以及需要的子模块,1.46.1为最低版本,REQUIRED强调必须找到该模块,否则编译失败;

# COMPONENTS后面罗列一组子模块(这些子模块都属于boost)

find_package(Boost 1.46.1 REQUIRED COMPONENTS filesystem system)

# 验证是否发现boost

if(Boost_FOUND)
    message ("boost found")
else()
    message (FATAL_ERROR "Cannot find Boost")
endif()

链接对应库文件

target_link_libraries( third_party_include
    PRIVATE
        Boost::filesystem
)3. 包含子目录 cmake思路

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • cmake学习

    根据cmake编写命令(CMakeLists.txt),生成对应的makefile文件(Makefile)。

    yzh
  • 静态库与动态库的那些事

    完成宏替换、文件引入、以及去除空行、注释等,为下一步的编译做准备。也就是对各种预处理命令进行处理,包括文件的包含、宏定义的扩展、条件编译的选择等。

    yzh
  • cmake Tips

    结合最近cmake的运用,对cmake的使用做简要总结。主要是关键词,编译思路的理解。

    yzh
  • win10 uwp 在笔迹开始书写拿到书写移动事件

    在使用 InkCanvas 的过程,无法直接通过 Pointer 消息拿到书写移动,需要使用 StrokeInput 才能获取到

    林德熙
  • 沙特推反网络犯罪新法规 偷看配偶手机或犯罪

    据台媒报道,沙特阿拉伯宣布,偷看配偶手机可能触犯刑法,代价是面临巨额罚金,外加坐牢一年。沙特信息部发布一则英文声明写道:“已婚人士若要偷看配偶手机,恐怕得三思。...

    C4rpeDime
  • 一键支持kuberntes抛弃docker的渣男行为

    v1.20.0-rc版本离线包里完全抛弃了docker,使用了最新版本的containerd. 正式版本会和kubernetes 1.20.0正式发版时同步发出...

    sealyun
  • Python入门四:创建第一个图形界面

    1、使用QtDesigner制作界面,打开的界面设计工具QtDesigner,如图:

    py3study
  • CV学习笔记(二十三):发票类OCR识别

    在基本完成了银行卡识别之后,开始新的任务:发票类OCR识别。发票类OCR识别一直以来也是OCR之中的热点,包括证件类识别等等,后续都要一步步来。

    云时之间
  • 大教堂与集市(中)

    可以很明显地观察到市集模式极大地加速了debug与程序演化。另一件可以清楚明白的是,在微观上,开发者与测试者的每天活动中,市集模式如何与为何可以达到这样的成果。...

    朴素人工智能
  • 微服务[学成在线] day01:CMS接口开发

    由于在学习该项目的过程中发现了原讲义存在的一些问题,所以该笔记基于「学成在线」微服务项目 PDF 讲义进行编写,并且投入了时间去优化了笔记的格式、代码的高亮、重...

    LCyee

扫码关注云+社区

领取腾讯云代金券