繁体   English   中英

确定何时在VS2010中而不是VS2008中使用VC90编译器?

[英]Determine when using the VC90 compiler in VS2010 instead of VS2008?

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

想要知道差异的原因是我创建了一个新的VS2010项目,其中包含从较大项目中删除的代码。 我只是“原样”离开了VS2008的东西,因为无论如何我们都将很快离开VS2008,并且我不想经历创建vcproj文件和新的vcxproj的麻烦

现在,我只是定义了自己的宏以指示代码是否已编译到其自己的DLL中。 它工作得很好,但是如果有一些更优雅的东西,那就太好了。

_MSC_VER返回编译器版本

听起来这就是您真正想要的(或者我误会了吗?)。

如果使用的是VS2008的编译器(令人困惑的也称为VC9或cl.exe 15.0),则_MSC_VER将返回一个大于或等于1500的值。如果使用了VS2010的编译器(也称为VC10或cl.exe 16.0),则_MSV_VER值为1600。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM