You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修改CMake+VSCode的启动目标为64Bit目录下的程序?

解决VS Code中CMake目标启动路径指向64Bit目录的问题

方法一:通过CMakeLists.txt全局配置

在app目录的CMakeLists.txt中添加以下配置,直接指定运行和调试时的目标程序路径及工作目录:

# 配置目标程序的启动路径为64Bit目录下的可执行文件
set_target_properties(${PROJECT_NAME} PROPERTIES
  # 指向64Bit目录中的exe,生成器表达式自动适配Debug/Release的文件名
  VS_DEBUGGER_COMMAND "${CMAKE_SOURCE_DIR}/64Bit/$<TARGET_FILE_NAME:${PROJECT_NAME}>"
  # 设置工作目录为64Bit,确保程序能加载目录中的依赖DLL
  VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/64Bit"
)

该配置会被VS Code的CMake扩展识别,点击「启动选定目标」或调试时,都会直接调用64Bit目录下的程序。

方法二:通过VS Code CMake扩展GUI修改单目标配置

若不想修改CMakeLists.txt,可直接在VS Code中调整:

  • 打开左侧CMake扩展侧边栏,找到app目标
  • 右键点击该目标,选择「添加调试配置」
  • 在自动生成的launch.json中,修改以下字段:
    "program": "${workspaceFolder}/64Bit/app.exe",
    "cwd": "${workspaceFolder}/64Bit"
    
    (注意替换app.exe为你的实际可执行文件名)

调试相关注意事项

  1. 确保Debug模式下同步文件:
    现有add_custom_command默认会在所有配置下执行,若之前仅针对Release,建议修改为适配所有配置的版本,保证Debug时最新的exe和pdb也能复制到64Bit:
    add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
        # 复制可执行文件
        COMMAND ${CMAKE_COMMAND} -E copy 
        $<TARGET_FILE:${PROJECT_NAME}> ${CMAKE_SOURCE_DIR}/64Bit/$<TARGET_FILE_NAME:${PROJECT_NAME}>
        # 复制符号文件(Debug模式下需要)
        COMMAND ${CMAKE_COMMAND} -E copy_if_different
        $<TARGET_PDB_FILE:${PROJECT_NAME}> ${CMAKE_SOURCE_DIR}/64Bit/$<TARGET_PDB_FILE_NAME:${PROJECT_NAME}>
        # 若有其他依赖DLL(如grid目录生成的DLL),一并复制
        COMMAND ${CMAKE_COMMAND} -E copy 
        $<TARGET_FILE:grid> ${CMAKE_SOURCE_DIR}/64Bit/$<TARGET_FILE_NAME:grid>
    )
    
  2. 符号文件匹配:
    只要pdb文件与exe同步复制到64Bit目录,VS Code调试器就能正常加载符号,断点、变量查看等调试功能均可正常使用。

内容的提问来源于stack exchange,提问作者macroland

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.21 10:33:14