visual-c++ - 如何从 C++ 代码访问 $(SolutionDir) 宏

标签 visual-c++ macros

如何从 C++ 代码访问 $(SolutionDir) 宏。
只是我想将解决方案目录路径作为字符串获取。这样我就可以在任何计算机上设置我的项目并相应地获取 sln 目录路径。

最佳答案

前段时间我遇到了同样的问题(我会记下投票,但这里没有真正的答案)。

我所做的还定义了预处理宏,并且使用 c++11 可以轻松解决转义字符的问题。要做到这一点,请进入

属性 → 配置属性 → C/C++ → 预处理器

有字段 PreprocessorDefinitions 所以你需要在那里添加:
SOLUTION_DIR=R"($(SolutionDir))"
解释 R"()"代表 c++ string literal所以转义字符不会有问题(它们从 C++11 开始可用)。

从我的用例来看,这在 Visual Studio 2015 和 2017 中完美运行(也应该在 2013 和 2012 年工作。在 2010 年和之前不支持原始字符串)

关于visual-c++ - 如何从 C++ 代码访问 $(SolutionDir) 宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19969868/

相关文章:

c - 这个宏是否违反了严格的别名规则?

c - 查找编译时宏下的函数/宏调用次数

c++ - 重载宏

c - 非 int 类型的位字段?

visual-c++ - VS2015中sprintf()和wsprintf()的格式差异

macros - 是否有 'stringify' 宏的字节等效项?

C++ 宏字符串连接

c++ - 强制转换的结果是右值吗?

.net - C++/CLI : inherit from one CLR class, 多个 C++ 类

c++ - VC++ 标准库链接错误