gpt4 book ai didi

c++ - 从 CMake 创建 Visual Studio 项目,Visual Studio 找不到可执行文件

转载 作者:行者123 更新时间:2023-12-01 15:11:04 31 4
gpt4 key购买 nike

基本上,我的问题与 How to configure CMake so that the generated Visual Studio project finds the executable? .那里的答案都不适合我。

我有一个 CMake 项目,我只想从中创建一个 Visual Studio 2019 项目:

  • 所以我只是从根目录运行 cmake .
  • 然后我的根目录中有一个 *.sln 文件。

  • 使用 Visual Studio 2019 打开后,我按下“Local Widows Debugger”按钮,编译成功,但 IDE 报错:

    Unable to start program 'C:\Users...\x64\Debug\ALL_BUILD'. The system is unable to find the specified file.

使用 travis 也可以正常编译:https://travis-ci.com/Necktschnagge/markov_chain_analyzer/builds/144941090

您可以在此处查看代码:https://github.com/Necktschnagge/markov_chain_analyzer/tree/old

我需要做什么才能让 CMake 创建一个配置良好的 VS 解决方案,以便我可以运行调试器?

最佳答案

当您使用 CMake 创建 Visual Studio 解决方案时,它会自动将启动项目设置为 ALL_BUILD。这是一个 CMake 预定义目标,用于构建解决方案中的所有项目。它不是包含可以调试的可执行文件的项目。

在调试之前,您必须将 解决方案资源管理器 中的启动项目更改为您的可执行项目之一。您可以通过右键单击要调试的项目并选择设置为启动项目来执行此操作。还有一些说明here如果您将 VS 与 CMake 集成一起使用。

您还可以告诉 CMake 在从头开始构建 CMake 时默认设置一个不同启动项目,使用 VS_STARTUP_PROJECT .在您的顶级 CMake 文件中添加这样的内容:

set_property(DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR} PROPERTY VS_STARTUP_PROJECT MyExeTarget)

现在,CMake 会将 MyExeTarget 设置为 Visual Studio 中的启动项目,而不是 ALL_BUILD

关于c++ - 从 CMake 创建 Visual Studio 项目,Visual Studio 找不到可执行文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59789453/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com