-
C/C++ 程序写好之后,需要进行编译和链接,生成可执行文件,才能运行。
-
为了完成编译和链接,编译器需要知道一些规则。比如要编译的文件有哪些,使用什么编译选项,编译的中间文件和生成的可执行文件输出到哪个目录,生成的可执行文件叫什么名字等等。
-
为了提供这些规则,需要一个编译规则文件,比如
Makefile
、微软的vcxproj
。
CMake 编译配置工具
-
当然,可以进行手动编写编译规则文件。但不同编译器,遵循着不同的规范和标准,编译规则文件的语法也千差万别。这样,就带来了一个严峻的问题:如果更换编译器,就要重新编写编译规则文件 。比如:
① 跨平台,为了保证软件能够在不同平台编译;
② windows 平台,从
MinGw
编译器 →MSVC
编译器。 -
另一种,更简单的方法是:
① 编写一种平台无关的
CMakeLists.txt
文件来定制编译流程; ② 借助
CMake
工具,生成不同平台不同编译器,编译所需的 编译规则文件 。