1前言:这是我参与「第四届青训营 」笔记创作活动的第二天,
使用Vscode配置C++的编译环境,网上虽然有许多的教程,但是鱼龙混杂,虽然配置过程很简单,但是真正使用起来的时候这次成功,但是下次不成功,总是有很多莫名的BUG,其实从头自己一步一步的配置,反而有助于理解整个程序的编译过程,下面我就接着诸多大佬的帖子,结合自己的实际电脑情况,给大家展现一下自己的配置过程
总结比较好的例子(无情的好资料):
1. 可能是全网最好的vscodeC++环境配置
2. Cmakelist的基本知识
3. cmake+vscode编译多个子目录c++文件的源代
上面的三个帖子就是我配置时参考的文章,文章都是非常的详尽,我也会将自己在配置过程中遇到的一些问题进行解释
- 首先大家在初始配置的时候建议看第一个帖子,按照这位老哥的教程走下来,我体验下来,Mac系统只有一个小地方可能有点小问题
- 我的文件配置
2. 上面弄完之后,你的Vscode就可以正常的编译了,但是紧接着需要修改cmakelists,进行多文件夹下的编译工作
```
cmake_minimum_required(VERSION 3.22)
project(helloworld)
set ( PRJ_SRC_LIST )
set ( PRJ_HEADER_LIST )
set ( PRJ_LIBRARIES )
set ( PRJ_INCLUDE_DIRS )
#设定好文件的名字
set ( prj_inc_dir ${CMAKE_CURRENT_SOURCE_DIR}/include )
set ( prj_src_dir ${CMAKE_CURRENT_SOURCE_DIR}/src )
# 自定义搜索的路径,并且添加到对应的文件列表中
file ( GLOB root_header_files "${prj_inc_dir}/*.h" )
file ( GLOB root_src_files "${prj_src_dir}/*.cpp" )
打印一下非重要信息
message ( STATUS " root_header_files = ${root_header_files}")
message ( STATUS " root_src_files = ${root_src_files}")
#将后面的文件列表或者文件路径赋给前面的变量
list ( APPEND PRJ_HEADER_LIST ${root_header_files} )
list ( APPEND PRJ_SRC_LIST ${root_src_files} )
list ( APPEND PRJ_INCLUDE_DIRS ${prj_inc_dir} )
#生成可执行文件
add_executable ( ${PROJECT_NAME} ${PRJ_SRC_LIST} ${PRJ_HEADER_LIST} )
#指定目标包含的头文件名路径
target_include_directories ( ${PROJECT_NAME}
PRIVATE
${PRJ_INCLUDE_DIRS}
)
#指定目标的编译选项
target_compile_features ( ${PROJECT_NAME}
PUBLIC
cxx_std_14
)
#指定目标链接的库
target_link_libraries ( ${PROJECT_NAME}
PRIVATE
${PRJ_LIBRARIES}
)
```
3. 运行过程演示
4. 调试过程
原文写的代码直接可以进行copy,需要修改的就是exe文件的路径与名字
launch和tasks都需要修改!!!!
- 调试,打好断点,调试F5即可完美使用!!!!
- 大家如果嫌弃麻烦,我会将文件上传到我的仓库中,希望对大家有所所帮助!!! 仓库地址在评论区!!!