在 C++ 中将 projectDir 作为字符串或 char* 获取

mba*_*ros 7 c++ macros visual-studio

我看到了几个与这个主题相关的问题,但我没有找到简单而通用的方法来做到这一点。

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

谢谢

mvi*_*auz 7

如果您的编译器支持原始字符串,那么您可以添加MYMACRO=R"($(ProjectDir))";到预处理器定义(来自 Visual Studio 2013 的屏幕截图): 在此处输入图片说明

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

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


std::cout << MYMACRO << std::endl; //will print project dir at run time
Run Code Online (Sandbox Code Playgroud)

  • @CodyGray:对于 VS 2013,有一个注册表设置可以关闭全部大写,还有一些更广泛的复制和文件创建 (IIRC) 来处理配色方案。只是谷歌它。对于截图,处理圆角和多窗口和菜单等,我推荐(不是免费的)WinSnap;我对它很满意,尽管它并不完美。微软没有设法提供一个像样的通用截图工具,这不是很令人惊讶吗?或者,好吧,想想看,这并不奇怪。但。:) (2认同)