gpt4 book ai didi

visual-studio-2010 - 从源代码访问 Visual Studio 宏?

转载 作者:行者123 更新时间:2023-12-03 23:43:02 25 4
gpt4 key购买 nike

Visual Studio 有像 $(TargetDirectory) 这样的宏, $(OutputPath)等等。
在我的源代码中,我想为从 TargetDirectory 以下几级的文件夹中加载文件指定一个相对路径。 .
目前我正在这样做:mLayer = mEngine->AddLayer("D:\\Projects\\abc.osg");我希望它类似于 mLayer = mEngine->AddLayer(($TargetDirectory)+"..\\..\\abc.osg");
这只是一个临时要求,因此我可以将我的代码提供给一个人进行小型演示,而他的 TargetDirectory 与我的目录的对齐方式不同。有没有办法在源代码中使用 Visual Studio 宏? (至少我知道可以访问系统环境变量)

最佳答案

转到 Project Properties -> Configuration Properties -> C/C++ -> Preprocessor -> Preprocessor Definitions 并添加以下内容:

TARGET_DIRECTORY=LR"($(TargetDir))"

这定义了一个名为 TARGET_DIRECTORY 的宽字符串文字,其中包含 $(TargetDir) 宏的内容。这里重要的是,这会创建一个 C++ 原始字符串,它不会将反斜杠视为转义字符。路径包含反斜杠。使用常规字符串文字是不正确的,在某些情况下甚至会给您带来编译器错误。

重要的!

如果您使用的宏可能包含右括号后跟双引号 )",则必须使用额外的分隔符,该分隔符不能出现在宏值中,例如:
TARGET_DIRECTORY=LR"|($(TargetDir))|"

对于 Windows 文件系统路径,这不是必需的,因为路径不能包含双引号。

关于visual-studio-2010 - 从源代码访问 Visual Studio 宏?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14888402/

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