主页 > 电脑硬件  > 

CMake学习

CMake学习
CMakeLists.txt PROJECT (Hello) SET(SRC_LIST main.cpp) MESSAGE(status "Binary dir: " ${PROJECT_BINARY_DIR}) ADD_EXECUTABLE(hello ${SRC_LIST})

PROJECT_BINARY_DIR与PROJECT_SOURCE_DIR是两个预定义变量

SET (SRC_LIST main.cpp)定义变量以及其内部值

MESSAGE向终端输出用户自定义信息,信息包括三种

SEND_ERROR:产生错误,生成过程被跳过STATUS:输出前缀为-的信息FATAL_ERROR:立即终止所有cmake过程 cmake指令 cmake -B build -G "Unix Makefiles" -B 表示要将构建中的过程文件都生成到指定文件内-G 表示指定构建系统上述会在指定的build文件夹中生成包括Makefiles文件在内的众多文件再执行make就可以生成目标文件了 cmake --build .在当前文件夹下找到Makefiles文件来执行make后的效果是一样的 cmake --build ./build --config Release --target hello 变量set

写法:set(变量名 变量值)

特殊变量 指定使用C++标准: 第一种方法,指定C++编译版本set(CMAKE_CXX_STANDARD 11/14/17/20),注意其中的数字只能写一个不能并写 相当于在执行编译时使用参数-std=c++11指定C编译版本:set(CMAKE_C_STANDARD 11) 第二种方法:在使用cmake命令时指定,例如cmake CMakeLists.txt文件路径 -DCMAKE_CXX_STANDARD=11/14/17 -D代表指定一个宏 可执行程序输出路径set(EXECUTABLE_OUTPUT_PATH ${HOME}/bin),如果路径不存在会自动创建 在此之前设置set(HOME /home/robin/build)建议这个路径使用绝对路径 CMake构建大型c++项目 # first-cmake # 指定编译版本 cmake .. -DCMAKE_CXX_STANDARD=11 执行cmake: cmake -S . -B build -S是指定查找CMakelist.txt文件路径,-B是指令生成所有文件到指定目录build下,如果没有创建build文件夹,会自动创建 cmake --build build(好像不好用) 不用进入build文件夹而开始编译
标签:

CMake学习由讯客互联电脑硬件栏目发布,感谢您对讯客互联的认可,以及对我们原创作品以及文章的青睐,非常欢迎各位朋友分享到个人网站或者朋友圈,但转载请说明文章出处“CMake学习