CMakeLists.txt 是用于 CMake 构建系统的配置文件,它描述了如何编译和构建您的项目。它定义了源代码文件、链接库、编译器选项和可执行文件等等。CMakeLists.txt 提供了一种跨平台、可自定义的构建过程,可以在不同的平台和系统上自动化构建和生成可执行文件或库。
一般来讲,编译 C++ 项目的流程如下:
在项目根目录下创建一个 build 目录,并进入这个目录
运行 cmake … 命令,生成 Makefile。
在 build 目录下运行 make 命令编译程序。
如果编译成功,运行可执行文件,如果有错误调试、修改代码后回到第2步重新编译。
在 Linux/Unix 系统上,可以通过终端命令来编译 C++ 项目。具体流程如下:
进入项目根目录
cd /path/to/your/project
创建 build 目录,并进入该目录
mkdir build && cd build
生成 Makefile
cmake …
使用 Makefile 编译程序
make
如果编译成功,就可以在当前目录下找到编译生成的可执行文件了。注意,如果您修改了 CMakeLists.txt 文件或者添加了新的源代码文件,需要重新运行 cmake … 命令生成新的 Makefile,然后再运行 make 命令重新编译程序
# 进入项目根目录
cd /path/to/your/project
# 创建 build 目录,并进入该目录,cmakelist.txt 和build 同级目录
mkdir build && cd build
# 生成 Makefile,通过 cmake .. 命令生成的 Makefile 文件可以完成编译、链接、安装等相关操作。
cmake ..
# 使用 Makefile 编译程序,生成可执行文件 executable_file_name(cmakelist.txt 写的)
make -j4 #使用4个核运行(与CPU核心数量相关)
# 运行可执行程序
./executable_file_name
在使用 make 命令编译程序时,Makefile 文件会被读取和解析,然后根据其中的规则自动化进行编译、链接等任务,完成可执行文件的生成。根据 Makefile 文件的描述,编译器会从源代码文件中生成目标文件,然后将它们在链接器的帮助下生成可执行文件或库。
需要注意的是,在执行 make 命令之前,一定要确保 cmake … 命令已经成功执行,而且没有出现任何错误。否则,make 命令可能无法正确编译、链接程序,导致编译失败或生成了有缺陷的可执行文件。