繁体   English   中英

如何在 CMake Visual Studio 2022 中设置工作目录?

[英]How to set working directory in CMake Visual Studio 2022?

我在使用 CMake (Visual Studio 2022) 设置工作目录时遇到问题。

我目前正在开发一个项目(一些 OpenGL 学习资料),并决定从典型的 VS 解决方案项目切换到 CMake 项目。 我需要从Resources文件夹(LearnOpenGL/Resources)加载一些文件(.obj,着色器),但我看到 c++ 代码中的路径与LearnOpenGL/out/build/x64-Debug/ 无关

我已经尝试过:

  • 设置属性 VS_DEBUGGER_WORKING_DIRECTORY 像(也没有斜杠):
set_property(TARGET LearnOpenGL PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/")
  • 将“currentDir”或“cwd”添加到CMakeSettings.json ,如:
"currentDir": "${projectDir}"
"cwd": "${projectDir}"

但这些变化没有任何影响。 有没有人有一些想法我还能做什么? 或者也许我在这里做错了什么?

您可以将currentDir属性添加到您的launch.vs.json ,该属性通常位于${workspaceRoot}/.vs目录中。

要从 Visual Studio 2022 CMake 项目访问它,您可以按照以下步骤操作:

在解决方案资源管理器中单击在解决方案和可用视图之间切换按钮:

在此处输入图像描述

然后点击CMake 目标视图在此处输入图像描述

现在右键单击您的项目,然后在上下文菜单中按添加调试配置

在此处输入图像描述

这将打开launch.vs.json文件,您可以在其中编辑currentDir属性,例如 - 我的项目02_texture.exe应该在根目录中启动,因此我的启动配置如下所示:

{
  "version": "0.2.1",
  "defaults": {},
  "configurations": [
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "",
      "name": "CMakeLists.txt"
    },
    {
      "type": "default",
      "project": "CMakeLists.txt",
      "projectTarget": "02_texture.exe (02_texture\\02_texture.exe)",
      "name": "02_texture.exe (02_texture\\02_texture.exe)",
      "currentDir": "${workspaceRoot}"
    }
  ]
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM