CMAKE的常见命令合集

接触c++也不是很长,但是在写工程的时候CMakeLists.txt写的不规范,会使得测试程序无法编译成功,特此开一篇博客专门写一些cmake中常用的一些命令,这样一来可以做个总结,第二个下次使用也便于查找,相当于自己慢慢建立一个cmake的命令手册吧!

LZ现在写CMakeLists.txt的时候有一个小技巧可以分享给大家,就是在链接库比较多,对于LZ这种新手来说可能会写的不是特别正确,这时,在main.cpp中可以先把相关的库进行include,然后主函数输出个hello world!,如果能通过编译,就能确保对应依赖项添加正确,然后再增加主函数的代码。。。可能有点傻,这个方法,但是对于新手写CMakeLists.txt还是很有效的O(∩_∩)O

1.添加c++11标准支持

#注意等式左右两端不要加空格
set(CMAKE_CXX_FLAGS "-std=c++11")

#有的时候可能会遇到,一定要注意是大写的O,不是数字0
set(CMAKE_CXX_FLAGS "-std=c++11 -O3")

其中,参数CMAKE_CXX_FLAGS含义是: set compiler for c++ language

而后面的-O3(是字母opq的o,大写的欧)是用来调节编译时的优化程度的,最高为-O3,最低为-O0(即不做优化)

-Ox这个参数只有在CMake -DCMAKE_BUILD_TYPE=Release时有效,因为debug 版的项目生成的可执行文件需要有调试信息并且不需要进行优化,而 release 版的不需要调试信息但需要优化。

2.制定cmake的最低版本

#定义cmake的最低版本时2.8
cmake_minimun_required(VERSION 2.8)

可以在终端中查看cmake的版本

cmake -version
#输出如下
cmake version 3.2.2

这里需要注意两点,如果不定义需要的版本可能会报个warning,如果有强迫症或者追求完美,还是把这行代码写上吧。第二点,不要定义的版本比自己安装的版本还高,那样估计就是直接编译不通过了。。。

3.定义工程名称

#定义工程的名称叫felaim,LZ这里是随意写的,小伙伴们也可以自行定义
project(felaim)

4.指定安装地址

第一种方式:
使用 CMAKE_INSTALL_PREFIX 来指定

cmake -DCMAKE_INSTALL_PREFIX=/usr ..  

第二种方式:
修改cmake文件,加入:

SET(CMAKE_INSTALL_PREFIX < install_path >) 

其实还有好多,但是时间有限,先写一部分,后续待LZ慢慢补上哈O(∩_∩)O

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值