我看到了几个与此主题相关的问题,但是我没有发现简单而通用的方法。

我的问题是:如何在我的C++代码中将$(projectDir)或另一个宏作为stringchar*

谢谢

最佳答案

如果您的编译器支持raw strings,则可以将MYMACRO=R"($(ProjectDir))";添加到预处理器定义中(Visual Studio 2013中的屏幕截图):
c++ - 在C++中将projectDir作为字符串或char *获取-LMLPHP

然后,您可以将以下内容添加到您的代码中:

#pragma message("MYMACRO == " MYMACRO) // will print project dir during compilation


std::cout << MYMACRO << std::endl; //will print project dir at run time

09-26 15:04