cmake入门

静态链接库

cmake实践可能用到静态链接库,此处记录。
GCC创建和使用静态链接库(.a文件) 全文
菜鸟课程 提到编译过程、静态库与动态库的内存占用区别:
编译流程

创建静态库过程
静态库的内存占用
动态库的内存占用

cmake

  • cmake是什么?
    帮助提高cpp编译效率的工具
  • 为什么要有cmake?
    不同平台下有各自的make,对应的语法格式各不相同,背诵量大。利用cmake,可用统一语法生成不同平台下的make文件,并利用make编译,提高工作效率。

编译

根据作者教程作了简易的math项目,运行结果如下:
cmake编译结果

多目录编译

项目管理子目录cmake编译中,在子目录工程中建立了power库(子目录中add_library (power ${LIB_SRCS})),并在主工程中使用它(主目录的target_link_libraries(testCmake power))。

在子目录工程中利用PROJECT_SOURCE_DIR引入了项目根目录:

include_directories(
    ${PROJECT_SOURCE_DIR}/include
)

详见PROJECT_SOURCE_DIR中提到:

This is the source directory of the last call to the project() command made in the current directory scope or one of its parents.

该变量的值是当前工程或父工程调用project的目录

3个阶段

cmake分为3个阶段,

  • configure 配置一些cmake配置文件里的变量
  • generate 根据cmake配置文件,生成make文件。如果定义了configure_file,会生成.h文件
  • build 执行make编译即可

ccmake

根据CMake和CCMake的区别 – cmake-curses-guiccmake是带交互界面的cmake,
ccmake界面

CCMake的安装
CCMake包含在cmake-curses-gui包中,所以安装很简单,已安装完CMake以后,只需执行如下命令:

sudo apt-get install cmake-curses-gui

即可完成CCMake的安装。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值