Ubuntu环境下如何用CMake在VSCode中自动构建多文件C项目
解决方案:CMake配置多文件C项目(Ubuntu环境)
1. 编写根目录CMakeLists.txt
在你的project_folder根目录下创建CMakeLists.txt文件,内容如下:
# 指定CMake最低版本要求(Ubuntu 18.04及以上默认满足) cmake_minimum_required(VERSION 3.10) # 定义项目名称(可自定义,比如my_c_project) project(my_c_project) # 将include目录添加到头文件搜索路径,这样编译器能找到<core/engine.h> include_directories(include) # 指定生成的可执行文件,以及所有需要编译的源文件 add_executable(${PROJECT_NAME} main.c src/engine.c)
2. 编译运行步骤
在终端中执行以下命令(推荐使用out-of-source构建,避免生成的文件污染源码目录):
# 进入项目根目录 cd project_folder # 创建并进入build目录 mkdir -p build && cd build # 生成Makefile cmake .. # 编译项目 make # 运行生成的可执行文件(名字和project指令里定义的一致) ./my_c_project
关键说明
- CMake不会自动扫描目录或添加头文件路径,必须通过
include_directories显式指定头文件根目录(这里是include),这样编译器才能解析#include <core/engine.h>(对应include/core/engine.h路径)。 - 如果后续新增源文件,只需在
add_executable中补充对应的.c文件路径即可;若源文件较多,可使用aux_source_directory(src SRC_FILES)批量导入src目录下的所有源文件,修改后的add_executable为add_executable(${PROJECT_NAME} main.c ${SRC_FILES})。
内容的提问来源于stack exchange,提问作者AndaluZ
相关产品推荐
相关产品推荐

