Cmake的初步使用
Last updated on 8 months ago
以前 接触Ros是有用过cmake,以及 clickhouse 编译源码时也有用过cmake,但是只是执行命令,没怎样看,最近了解了下
cmake 相对于 Makefile 更加便捷,cmake会根据 CMakeLists.txt的内容 会自动生成 Makefile,想着最近捣鼓的项目代码量也上来了,所以试试 cmake,这里记录做下记录
最近想着一个 项目源文件和头文件如何布局,以及一些模块的代码要在那个文件夹,这里现在考虑的不是很完善,现在方案是 .h 和 .cpp 分离开,并且一个功能模块占用一个文件夹
build 里面就是 cmake 生成的文件,在项目根目录编写 个 CmakeLists.txt ,cmake 会根据这个生成对应的makefile文件
aux_source_directory(路径 变量名字) 是指定路径的源文件 保存到指定的变量(这里都是用空格隔开的)
期初一直提示没有找 undefined reference 原因就是 没有导入相对应的文件
$是取值的符号
set是赋值
message相对于 print
include_directories(路径) 是找到相对应的头文件
ADD_EXECUTABLE(生成文件 源文件….)
target_link_libraries() 链接对应库 相当于 gcc 中的 -L
file(GLOB_RECURSE SRC_DIR_LIST "src/*.cpp" "src/*.c") 这个可以一次性遍历出全部的源文件
1 |
|
现在看来 cmake 是比较方便,不用写编译的命令,威力很强大,以后遇到什么需求了再来完善,用着学,学着用。