Determinar cuando se utiliza el compilador de VC90 en VS2010 en lugar de VS2008?
-
27-09-2019 - |
Pregunta
¿Hay una macro (Microsoft-específico) CPP para determinar cuando estoy usando el compilador VC9 en Visual Studio 2010 en comparación con Visual Studio 2008? vuelve _MSC_VER
el compilador versión, por lo que con VS2010 función multi-diana, voy a conseguir el mismo resultado que con VS2008.
La razón de querer saber la diferencia es que he creado un nuevo proyecto de VS2010 que contiene código retirado de un proyecto más amplio. Acabo de salir de la VS2008 cosas "tal cual" ya que estamos alejando de VS2008 "pronto" de todos modos y no quería pasar por la molestia de crear un archivo vcproj junto con el nuevo < strong> vcxproj .
Por ahora, sólo he definido mi propia macro para indicar si el código se compila en su propia DLL o no; funciona muy bien, pero sería agradable si había algo un poco más elegante.
Solución 2
Parece que no hay solución, una macro personalizada funciona incluso si no es tan elegante como me gustaría.
Otros consejos
vuelve
_MSC_VER
la versión del compilador
Parece que eso es lo que realmente quiere (o estoy malentendido?).
Si se está utilizando el compilador de VS2008 (que confusamente también se conoce como VC9 o cl.exe 15.0), entonces _MSC_VER
devolverá un valor que es mayor que o igual a 1500. Si se utiliza el compilador de VS2010 (también conocida como VC10 o cl.exe 16.0), entonces _MSV_VER
evaluará a 1600.