1

是否有(Microsoft 特定的)CPP 宏来确定我何时在 Visual Studio 2010 中使用 VC9 编译器而不是 Visual Studio 2008? _MSC_VER返回编译器版本,因此使用 VS2010 多目标功能,我将得到与 VS2008 相同的结果。

想知道区别的原因是我创建了一个新的 VS2010 项目,其中包含从一个更大的项目中删除的代码。我只是“按原样”保留了 VS2008 的东西,因为无论如何我们都“很快”离开了 VS2008,而且我不想经历与新的vcxproj一起创建vcproj文件的麻烦。

现在,我刚刚定义了自己的宏来指示代码是否编译成自己的 DLL;它工作得很好,但如果有一些更优雅的东西会很好。

4

2 回答 2

1

_MSC_VER返回编译器版本

听起来这就是您真正想要的(还是我误解了?)。

如果正在使用来自 VS2008 的编译器(也称为 VC9 或 cl.exe 15.0),_MSC_VER则将返回一个大于或等于 1500 的值。如果使用来自 VS2010 的编译器(也称为 VC10 或 cl .exe 16.0),然后_MSV_VER将评估为 1600。

于 2010-06-14T21:09:23.550 回答
0

似乎没有解决方案,自定义宏即使不像我想要的那样优雅也可以工作。

于 2010-06-18T13:41:42.450 回答