前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >CMAKE学习记录(二)

CMAKE学习记录(二)

原创
作者头像
yzh
修改2020-08-10 10:17:11
1.1K0
修改2020-08-10 10:17:11
举报
文章被收录于专栏:YZh学习记录YZh学习记录

1. cmake 编译类型

以debug模式为例

方式1:

代码语言:javascript
复制
cmake .. -DCMAKE_BUILD_TYPE=Debug  #根据cmake参数来设置编译类型

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

方式2:

在CMakeLists.txt 中 进行设置

代码语言:javascript
复制
SET(CMAKE_BUILD_TYPE “Debug”)

方式3:

代码语言:javascript
复制
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)

代码语言:javascript
复制
find_package(Boost 1.46.1 REQUIRED COMPONENTS filesystem system)

# 验证是否发现boost

代码语言:javascript
复制
if(Boost_FOUND)
    message ("boost found")
else()
    message (FATAL_ERROR "Cannot find Boost")
endif()

链接对应库文件

代码语言:javascript
复制
target_link_libraries( third_party_include
    PRIVATE
        Boost::filesystem
)3. 包含子目录 cmake思路

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1. cmake 编译类型
  • 2. 加载第三方库 cmake
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com