CMake设置Visual Studio工程的调试环境变量和工作目录cwd的方法

1、设置在Visual Studio中调试的环境变量,此设置仅仅在VS中点击那个绿色三角运行时有效,与你直接双击打开exe文件运行无关,有效避免多版本动态库全部写入系统环境变量的污染问题;

# Visual Studio中调试依赖的独立环境变量
set_property(TARGET ${PROJECT_NAME}	 PROPERTY VS_DEBUGGER_ENVIRONMENT "PATH=C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/bin")


# 如果上面写法还是不行,那就试试这样写(保持原来默认的环境不变的情况下添加Qt的运行环境变量)
set(MY_QT_PATH "C:/Qt/Qt5.12.3/5.12.3/msvc2017_64/bin")
set(MY_PATH "PATH=%PATH%" ${MY_QT_PATH})
set_property(TARGET ${PROJECT_NAME}	 PROPERTY VS_DEBUGGER_ENVIRONMENT ${MY_PATH})

2、设置Visual Studio中调试时的工作根目录(即exe程序内的“./”所指的相对目录),由于工程使用CMake-gui构建的VS工程,所以 “${ProjectDir}” 代表.sln所在的目录;

# Visual Studio中的调试工作目录(即exe程序内的“./”所指的目录,仅在VS调试中有效)
set_property(TARGET ${PROJECT_NAME} PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${ProjectDir}../Bin")

以上两句对应Visual Studio内项目调试属性的设置:

### 配置 VSCode 在 Windows 上使用 CMake 进行调试 #### 安装必要的软件工具 为了在 Windows 系统上的 Visual Studio Code (VSCode) 中配置 CMake 调试环境,需确保已安装以下组件: - **Visual Studio Code**: 可从官方网站下载并按照指引完成安装[^4]。 - **MinGW-w64 编译器套件**: 用于提供 GCC/G++ 编译器支持。可以从 MinGW 官方网站获取最新版本,并将其 `bin` 文件夹路径添加到系统的环境变量中以便全局访问[^5]。 - **CMake 工具**: 访问 CMake 官网下载页面找到适用于 Windows 的二进制分发包进行安装;同样地,记得把其 `bin` 目录加入 PATH 环境变量以验证安装是否成功通过命令提示符运行 `cmake --version` 来检查版本信息。 #### 安装 VSCode 插件 除了上述外部依赖外,在 VSCode 内部还需要额外加载几个扩展来增强开发体验: - **C/C++ 扩展包**:由 Microsoft 提供的支持 C C++ 语言特性的官方插件集合。 - **CMake Tools**:专为简化基于 CMake 构建项目的操作而设计的辅助工具集。 这些都可以直接在 VSCode 的市场里搜索名称快速定位并一键安装[^2]。 #### 创建项目结构与初始化 CMakeLists.txt 创建一个新的工作区文件夹作为项目的根目录,接着在此处建立源代码文件(如 `main.cpp`),最后在同一级别下新增名为 `CMakeLists.txt` 的构建脚本文件用来定义整个工程所需的编译选项其他元数据。 ```cmake # 示例 CMakeLists.txt 内容 cmake_minimum_required(VERSION 3.10) project(MyProject) set(CMAKE_CXX_STANDARD 17) add_executable(${PROJECT_NAME} main.cpp) ``` #### 设置 JSON 配置文件 对于更复杂的场景可能还会涉及到 `.vscode/settings.json`, `launch.json` 或者其他特定于 IDE 行为调整的相关设定项。特别是当涉及远程开发或是多平台兼容性考量时更为重要。 ##### launch.json 示例 此文件位于 `.vscode/` 子目录内,主要用于指定启动程序的方式及其参数,比如连接 GDB 调试服务器等细节。 ```json { "version": "0.2.0", "configurations": [ { "name": "(gdb) Launch", "type": "cppdbg", "request": "launch", "program": "${workspaceFolder}/build/${fileBasenameNoExtension}.exe", // 输出可执行文件位置 "args": [], "stopAtEntry": false, "cwd": "${workspaceFolder}", "environment": [], "externalConsole": true, "MIMode": "gdb", "miDebuggerPath": "/path/to/gdb.exe", // 如果不是默认路径则需要指明GDB的位置 "setupCommands": [ { "description": "Enable pretty-printing for gdb", "text": "-enable-pretty-printing", "ignoreFailures": true } ], "preLaunchTask": "CMake: Build" } ] } ``` #### 测试配置有效性 一切就绪之后就可以尝试编写一些简单的测试用例放入 `main.cpp` 并利用左侧边栏中的绿色播放按钮触发一次完整的编译加运行过程。如果中途遇到任何错误消息务必仔细阅读报错内容针对性解决问题直至顺利完成首次构建为止。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值