使用CMake设置工作目录有问题(VisualStudio2022)。
我目前正在做一个项目(一些OpenGL学习材料),并决定从典型的VS解决方案项目转向CMake项目。我需要从LearnOpenGL/out/build/x64-Debug/.资源文件夹(LearnOpenGL/Resources)加载一些文件(.obj,着色器),但我看到c++代码中的路径与相对
我已经试过了
set_property(TARGET LearnOpenGL PROPERTY VS_DEBUGGER_WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}/")
在CMakeSettings.json中添加"currentDir“或"cwd”的
"currentDir": "${projectDir}"
"cwd": "${projectDir}"
但这些变化都不会产生任何影响。有人有什么想法吗?我还能做些什么?或者我在这里做了什么错事?
发布于 2022-07-19 14:11:36
可以将currentDir属性添加到launch.vs.json中,该属性通常位于${workspaceRoot}/.vs目录中。
要从VisualStudio2022 CMake项目访问它,可以遵循以下步骤:
在“解决方案资源管理器”中,单击“在解决方案和可用视图之间切换”按钮:
然后单击CMake目标视图
现在,右键单击您的项目,然后按下上下文菜单中的Add调试配置。
这将打开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}"
}
]
}
https://stackoverflow.com/questions/72635402
复制相似问题