cpp环境搭建 - VSCode创建CMakeLists项目

发布时间 2023-12-21 00:15:56作者: yanghui01

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)