如何从 C++ 代码访问 $(SolutionDir) 宏。只是我想将解决方案目录路径作为字符串获取。这样我就可以在任何计算机上设置我的项目并相应地获取 sln 目录路径。
前段时间我遇到了同样的问题(我会记下投票,但这里没有真正的答案)。
我所做的也是定义预处理器宏,使用 c++11 可以轻松解决转义字符的问题。要做到这一点,请进入
特性 ?配置属性?C/C++ ? 预处理器
有字段 PreprocessorDefinitions 所以你需要在那里添加:
SOLUTION_DIR=R"($(SolutionDir))"
解释一下 R"()" 代表c++ 字符串文字,所以转义字符不会有问题(它们从 C++11 开始可用)。
从我的用例来看,这在 Visual Studio 2015 和 2017 中完美运行(也应该在 2013 和 2012 年工作。在 2010 年和之前不支持原始字符串)
我解决了这个问题。这里使用 $(SolutionDir) 给出解决方案目录路径。但是当它作为字符串时会出现问题,因为 $(SolutionDir) 的 return 语句包含包含斜杠 () 的路径,没有转义字符。例如:C:\TestApp\ 但要用作字符串,它应该是 C:\TestApp\ 也许它可以在设置属性时在内部使用。
| 归档时间: |
|
| 查看次数: |
2927 次 |
| 最近记录: |