1) 先要安装插件CMake Tools
2) 没配置CMakeLists.txt前的项目文件,直接用之前配置的Build Task构建,会报main.cpp找不到头文件,因为它在./include/Test.h下,在main.cpp所在的文件夹搜肯定是没有的
3) 下面开始配置CMakeLists.txt
3-1) ctrl + shift + p -> 输入cmake:quick,选择第1个
注意:我用1.69.0版本的VSCode + 1.16.32版本的CMake Tools,会遇到command cmake.quickstart not found的错误
这个错误也不知道原因,最后升级了最新版VSCode(1.85.1)就好了
3-2) 然后需要Select a Kit,如果下拉列表中没有MinGW,可以先选择第1个让他扫描下
这边选择MinGW的gcc
3-3) 输入项目名字
3-4) 输入语言类型,这边是c++
3-5) 选择项目类型,这边是生成程序
4) 最后会生成一个默认的CMakeLists.txt文件在项目根目录,同时左侧的CMake Tools也被激活
这边把CMakeLists.txt改成下面这样
cmake_minimum_required(VERSION 3.10.0) set(PROJ_NAME "hello_cpp") set(EXE_NAME "my_app") project(${PROJ_NAME} VERSION 0.1.0 LANGUAGES C CXX) #aux_source_directory(. SRC_FILES) #这个不会递归子文件夹 file(GLOB_RECURSE SRC_FILES src/*.cpp) set(EXECUTABLE_OUTPUT_PATH "../bin") # 注意不是./bin, 这个会生成在build/bin/下 add_executable(${EXE_NAME} main.cpp ${SRC_FILES}) set_property(TARGET ${EXE_NAME} PROPERTY CXX_STANDARD 17) # 设置c++标准 target_include_directories(${EXE_NAME} PRIVATE "${CMAKE_CURRENT_SOURCE_DIR}/include") #指定头文件搜索文件夹
改完保存后,就可以构建项目了(右键菜单就能看到Build)
选择Debug则可以调试
构建成功后生成的文件
其他
1) 安装CMake Tools后,如果打开的项目有CMakeLists.txt文件,他会自动提示是否配置项目
2) 常用的变量打印(项目所在文件夹:C:/_cpp/hello_cpp)
message("~~~~~ CMAKE_CURRENT_SOURCE_DIR: ${CMAKE_CURRENT_SOURCE_DIR}") # C:/_cpp/hello_cpp message("~~~~~ CMAKE_CURRENT_BINARY_DIR: ${CMAKE_CURRENT_BINARY_DIR}") # C:/_cpp/hello_cpp/build message("~~~~~ CMAKE_SOURCE_DIR: ${CMAKE_SOURCE_DIR}") # C:/_cpp/hello_cpp message("~~~~~ CMAKE_MODULE_PATC: ${CMAKE_MODULE_PATH}") # 空 message("~~~~~ PROJECT_SOURCE_DIR: ${PROJECT_SOURCE_DIR}") # C:/_cpp/hello_cpp message("~~~~~ PROJECT_NAME: ${PROJECT_NAME}") message("~~~~~ PROJECT_VERSION: ${PROJECT_VERSION}") message("~~~~~ EXECUTABLE_OUTPUT_PATC: ${EXECUTABLE_OUTPUT_PATH}") # ../bin message("~~~~~ SRC_FILES: ${SRC_FILES}") # C:/_cpp/hello_cpp/src/Test.cpp
3) Build其实包含2个步骤
a) 先是用cmake编译源码,生成中间文件,一般放在build文件夹
b) 然后是用make生成可执行文件,一般放在bin文件夹
对应命令:cmake . && make && ./hello_cpp
参考
【小沐学C++】vs2017 + vscode + cmake配置C/C++编译环境_cmake教程 vs2017-CSDN博客
如何使用CMake构建c++项目 - 知乎 (zhihu.com)
超级玛丽c++版 环境搭建方法 - 园友1683564 - 博客园 (cnblogs.com)
在 vscode 中使用 cmake 一键运行 c++ 项目 - 知乎 (zhihu.com)