我们知道使用IDE开发c++项目非常方便,但是为什么还需要cmake创建项目呢?CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。只需简单两行命令cmake ..及make 就可以把一个项目c++项目编译出来,而且不受平台限制;
而使用可视化的IDE是需要依赖平台的,即使我们使用的是夸平台的IDE也只能在一款IDE中打开编译,这就限制了夸平台开发及夸平台编译了。
而使用cmake可以完美的解决这个问题。CMake可以直接编译出VS、XCode、CodeBlocks等工程文件,后续的编码工作都是通过IDE来完成,当需要增加、删除源文件的时候,修改一下CMakeLists.txt,在编译,工程文件会自动刷新。
使用CMake这就能实现使用IDE开发、调试代码,处处编译代码的需求
其实使用由cmake到Code::Blocks非常简单,只需要在cmake执行时,添加输出codeblocks选项即可
cmake .. -G "GodeBlocks - Unix Makefiles"
Cmake命令行使用:
-G 指明生成的Makefile格式
-D 添加参数
-S 指明源码位置
-B 指明输出路径
例如:
cmake -G “MinGW Makefiles” -S “源码路径” -B “输出路径”
或者
cmake -G “MinGW Makefiles” -D CMAKE_TOOLCHAIN_FILE=“编译工具链路径” -S “源码路径” -B “输出路径”
注意:Cmake是不支持中文的,无论是GUI还是命令行,都严禁出现中文字符.
以前面那篇CMakeLists.txt为例,创建过程见这里
cd build
cmake .. -G "CodeBlocks - Unix Makefiles"
# 生成*.cbp文件,即:Code:Blocks的工程文件



Debug及Release
step.4 配置 Project-> Build Options
在Pre/post Build Steps 中添加如下命令:
cmake ..
make

点击ok后,执行编译,出现如下提示

在顶部的工具栏中,选择构建对象Debug,在执行编译

完成!