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.

¿Fue útil?

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.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top