CMake 更改启动目录

问题描述 投票:0回答:1

我将项目从 Visual Studio 切换到 CMake + VS Code。我是 CMake 的初学者。

该项目由4个子目录组成:1)脚本,2)网格3)应用程序和4)64Bit。 前 3 目录各有

CMakeLists.txt
个文件。还有一个顶级 CMakeLists.txt 文件。

64Bit
目录用于分发,包含其他 DLL 和许多其他文件,以便可执行文件可以运行。

我可以在

project/build
目录中生成 DLL 和 EXE,然后使用类似于以下的命令将它们复制到
project/64Bit
目录:

add_custom_command(TARGET ${PROJECT_NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E copy 
    $<TARGET_FILE:${PROJECT_NAME}> ${CMAKE_SOURCE_DIR}/64Bit/${PROJECT_NAME}.exe)

我的问题是,当我在 VS Code 中使用“在终端窗口中启动所选目标”按钮时,它会尝试启动

project/build/app/Release/app.exe
,而我希望它启动
project/64Bit/app.exe
文件。

有没有办法可以从 CMakeLists.txt 文件或使用 CMake 扩展的 GUI 更改启动目标?我也在想这个问题会导致我以后的调试出现问题。

提前致谢!

c++ visual-studio-code cmake
1个回答
0
投票

您可以通过在 launch.json 文件中添加或编辑以下行来定义要启动的程序(您可能需要稍微编辑一下确切位置):

"program": "${workspaceFolder}/.../app.exe"

这是更新后的 launch.json 文件的示例,但我建议您编辑现有内容,而不是进行新配置:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "myRunner",
            "type": "cppdbg",
            "request": "launch",
            "program": "${workspaceFolder}/64Bit/app.exe",    //added/edited line
            "args": [],
            "stopAtEntry": false,
            "cwd": "${workspaceFolder}",
            "environment": [],
            "externalConsole": false,
            "MIMode": "gdb",
            "setupCommands": [
                {
                    //...
                }
            ],
            "miDebuggerPath": "gdb",
            "preLaunchTask": "build"
        }
    ]
}

这将影响您的整个调试配置,因此如果您计划将来处理其他项目,请考虑首先创建备份。另请确保使用正确的调试配置运行该文件,在上面的示例中为

myRunner

希望这有帮助!

© www.soinside.com 2019 - 2024. All rights reserved.