我们最近有一个使用 Qt 的声子组件的新要求,它在 Windows 上需要 Visual Studio。
我安装了 VS2008 并运行了编译。由于 make 不能像 nmake 那样工作,存在一堆问题。
由于我需要维护跨平台,我想测试正在使用哪个编译器,以便我可以根据需要进行更改。
一个例子是PRETTY_FUNCTION是一个 g++ 宏,而FUNCDNAME 是 VC 等价的。如何测试我使用哪个编译器来确定要调用哪个宏?
我们最近有一个使用 Qt 的声子组件的新要求,它在 Windows 上需要 Visual Studio。
我安装了 VS2008 并运行了编译。由于 make 不能像 nmake 那样工作,存在一堆问题。
由于我需要维护跨平台,我想测试正在使用哪个编译器,以便我可以根据需要进行更改。
一个例子是PRETTY_FUNCTION是一个 g++ 宏,而FUNCDNAME 是 VC 等价的。如何测试我使用哪个编译器来确定要调用哪个宏?
使用_MSC_VER宏。如果已定义,则您使用的是 Visual Studio:
#ifdef _MSC_VER
... MSVC code ...
#else
... other compiler ...
#endif