VSCode:使用CMakeLists.txt构建C++项目-创新互联
插件:
创新互联建站长期为1000+客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为平桥企业提供专业的网站建设、网站设计,平桥网站改版等技术服务。拥有十多年丰富建站经验和众多成功案例,为您定制开发。- CMake插件主要功能是CMake语法高亮、自动补全
- CMake Tools的功能主要是结合VSCode IDE使用CMake这个工具,比如生成CMake项目、构建CMake项目等
- CMake Tools Helper
CMake工具本身还是要下载到本地,并且配置环境变量。
项目结构包括6部分:build文件夹、include文件夹、src文件夹、lib文件夹、bin文件夹和CMakeLists.txt。
编译 基本配置首先安装VSCode插件CMake和CMake Tools
新建CMake项目Ctrl+Shift+p
打开VSCode
的指令面板,然后输入cmake:q
,VSCode会根据输入自动提示,然后选择CMake: Quick Start
然后选择适合你的编译器。这里我们选择GCC7.4.0:
然后根据提示输入项目名称:
- 然后选择该项目是创建库还是可执行文件,这里我们选择可执行文件Executable:
- 然后VSCode就会为你生成一个CMake项目。如下所示:
- build文件夹是cmake指令的输出文件夹
- 默认生成的CMakeLists.txt文件
- 默认生成的main.cpp文件
- 其他的文件夹比如include文件夹、src文件夹、bin文件夹等自己建立就行。
我们可以看到CMakeLists.txt文件中的内容,如下:
project(exer VERSION 0.1.0) #项目名字和版本
include(CTest) #包含测试框架,我们可以不用
enable_testing()
add_executable(exer main.cpp) #添加源文件
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
将CMakeLists.txt修改如下:
# CMake 最低版本号要求
cmake_minimum_required(VERSION 3.0.0)
# 项目信息
project(test1 VERSION 0.1.0)
#设置exe输出目录
set(EXECUTABLE_OUTPUT_PATH "${PROJECT_SOURCE_DIR}/bin")
# 查找当前目录下的所有源文件
# 并将名称保存到 DIR_SRCS 变量
aux_source_directory(. DIR_SRCS)
# 指定生成目标
add_executable(Demo ${DIR_SRCS})
#add_executable(${PROJECT_NAME} main.cpp)
在“test1[test1.exe]”上,鼠标右键弹出菜单,选择调试或debug。
两种方法:
点击底部的Build
打开命令板(Ctrl+Shift+P)并运行CMake:Build(输入cmake后VSCode会帮你列出所有支持的命令):
- 或者直接按下快捷键F7。
我们按住 ctrl + shift + p,搜索C/C++
我们配置一下编译器路径
更改IntelliSense模式:
然后关闭这个界面,我们会发现CppProject文件夹中多了一个.vscode文件夹,有一个c_cpp_properties.json
设置好断点,按下快捷键 ctrl + shift + p , 键入: cmake:debug , 程序将执行,并停在断点所在位置。
或者直接按下快捷键ctrl+F5。
方法二(不看)首先在源码中打上断点:
然后配置调试环境:
这个时候资源管理器下就会生成.vscode文件夹,下面有个launch.json文件
把下面一句:
"program": "输入程序名称,例如 ${workspaceFolder}/a.exe",
改成:(根据CMakeLists.txt文件内容,将会在build文件夹下生成result可执行文件)
"program": "${workspaceFolder}/build/result",
然后就可以加断点调试了。
代码的中文乱码问题https://blog.csdn.net/m0_46577050/article/details/127604039
关于 选择编译的版本- 编译的一共有4个Debug 、Release 、MinRelSize 、RelWithDebInfo。区别在于:
- Debug:禁用优化并包括调试信息。
- Release:包括优化,但没有调试信息。
- MinRelSize :优化尺寸。无调试信息。
- RelWithDebInfo:优化速度,包括调试信息。
- 更改方法:要选择变体,请打开命令面板(Ctrl+Shift+P)运行CMake:select var。或者点击下面深色
你可以通过以下按钮更换套件工具链即编译器
或者是可以通过ctrl+shifl+p,输入CMake:Select a Kit
如果想重新配置本地的编译工具链的安装位置,那么可以打开如下配置
CMake:Edit user-local CMake kits
参考- https://blog.csdn.net/jiasike/article/details/107474368
- https://blog.csdn.net/qq_62094479/article/details/127816434
- https://blog.csdn.net/hhy321/article/details/120602770
你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧
分享标题:VSCode:使用CMakeLists.txt构建C++项目-创新互联
链接分享:http://scyanting.com/article/dcddec.html