windows - 在 cmake/Visual Studio 项目中调试/运行可执行文件

标签 windows visual-studio cmake

我们正在从手动管理的 Visual Studio 项目转向跨平台 cmake。

我们曾经打开一个解决方案文件,选择一个项目作为“启动目标”,然后按 Ctrl+F5 或 F5 调试或运行。

现在 cmake 有了这个安装概念。它需要我运行安装目标。但安装项目没有设置任何可执行文件,因此不能用于启动调试。

如果我将我的可执行项目设置为启动目标,那么安装将不会运行,所以我无法调试。

我相信有更好的方法来做到这一点。

有什么想法吗?

最佳答案

如果您想要分发您的应用程序,您应该只需要运行 INSTALL 目标。如果您选择一个构建可执行文件的项目(因此它在 CMakeLists.txt 文件中有一个 ADD_EXECUTABLE 语句),它应该使用 F5 或 Ctrl+F5 运行。

可能是您的可执行文件需要在单独目录中构建的共享库。您可以在主 CMakeLists.txt 文件中使用以下 CMake 命令强制在同一目录中构建所有可执行文件和库。

   SET(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/Bin/${CMAKE_BUILD_TYPE} CACHE PATH "Library output path")
   SET(EXECUTABLE_OUTPUT_PATH ${CMAKE_BINARY_DIR}/Bin/${CMAKE_BUILD_TYPE} CACHE PATH "Executable output path")

如果你想更好地控制调试时应该运行的命令,请查看这个问题:How to Set Path Environment Variable using CMake and Visual Studio to Run Test

关于windows - 在 cmake/Visual Studio 项目中调试/运行可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2630263/

相关文章:

c++ - 两个 Windows 应用程序可以使用命令行进行通信吗?

python - 如何隐藏 geckodriver 控制台窗口?

c++ - 是否可以强制 CMake 在其他项目类型生成时生成 Visual Studio 项目?

c++ - 无法在 VS 2013 社区中创建 C++ 项目

c++ - 将旧的 NuGet 包与现代 Visual Studio 工具集结合使用

c++ - 使用 FetchContent_ 处理嵌套的 cmake 项目

qt - 使用 CMake 检测 Qt5

windows - 更改最小/最大/关闭按钮主题

windows - 使用 powershell 删除文件中的特定行

.net - 有关调试器使用的调试引擎的信息