Top*_*tor 2 c++ visual-studio visual-studio-2022
我正在使用 Visual Studio 用 C++ 进行编写。我尝试使用 $(ProjectDir) 宏来访问项目目录
auto vertShaderCode = readFile("$(ProjectDir)shaders/vert.spv");
Run Code Online (Sandbox Code Playgroud)
不幸的是,该宏并未解析为实际路径,而是与“$(ProjectDir).
ChatGPT 建议这样写:
std::string projectPath = "$(SolutiontDir)";
auto vertShaderCode = readFile(projectPath + "shaders/vert.spv");
Run Code Online (Sandbox Code Playgroud)
但效果不太好。我已经在项目属性的“其他包含目录”中专门添加了这个宏,但它仍然保持不变。
$(ProjectDir)是一个 MSBuild 宏,如果您想在代码中使用它,那么您需要在项目设置中将其值作为预处理器宏传输MY_PROJECT_DIR="$(ProjectDir)",然后将代码更改为readFile(MY_PROJECTS_DIR "shaders/vert.spv");. MY_PROJECT_DIR=R"($(ProjectDir))"例如,您可能还需要使用 RAW 字符串文字来处理转义序列,但那是另一个故事了。