son - programas para programar en c y c++




Versión de compilador desconocida al compilar Boost con MSVC 14.0(VS 2015) (4)

Obtengo "Versión de compilador desconocida: ejecute las pruebas de configuración e informe los resultados" al intentar compilar la biblioteca Boost en mi computadora.
Tengo el Boost más reciente (a partir de la fecha de publicación): 1.58.0.
¿Boost aún no es compatible con MSVC 14.0? ¿Cómo "ejecuto las pruebas de configuración"?

.


Último (en el momento de publicar esta respuesta) Boost 1.58 es compatible con MSVC 14.0 Preview, que era el último compilador de MS en el momento del lanzamiento de Boost 1.58. Ahora, la última versión de Visual Studio es 2015 RC, que no está cubierta en el archivo de configuración boost 1.58.

Para detener Boost 1.58 quejándose de la versión desconocida del compilador, edite boost/config/compiler/visualc.hpp y reemplace:

// last known and checked version is 19.00.22129 (VC14 Preview):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022310)

con:

// last known and checked version is 19.00.22816 (VC++ 2015 RC):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190022816)

que puede encontrar ya está hecho en el repositorio de impulso here para el próximo lanzamiento de Boost 1.59.

Actualización : para Visual Studio 2015 RTM configúrelo en:

// last known and checked version is 19.00.23026 (VC++ 2015):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190023026)

Actualización 2 : para Visual Studio 2015 Actualización 1 configúrelo en:

// last known and checked version is 19.00.23506 (VC++ 2015 Update 1):
#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190023506)

Además, si anteriormente ha estado ejecutando Boost.Build en toolset=msvc-14.0 , elimine de C:\Users\<name>\AppData\Local\Temp los siguientes archivos en caché:

b2_msvc_14.0_vcvarsall_x86.cmd 
b2_msvc_14.0_vcvarsall_x86_amd64.cmd 
b2_msvc_14.0_vcvarsall_x86_arm.cmd

Más sobre eso here .

Actualización3 Para referencia futura, en el símbolo del sistema de Visual Studio Tools, ejecute el comando cl /Bv para ver los números de versión (los parámetros distinguen entre mayúsculas y minúsculas).

La mina produce lo siguiente:

C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\cl.exe:        Version 19.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\c1.dll:        Version 19.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\c1xx.dll:      Version 19.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\c2.dll:        Version 19.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\link.exe:      Version 14.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\mspdb140.dll:  Version 14.11.25506.0
 C:\Program Files (x86)\Microsoft Visual Studio\Preview\Professional\VC\Tools\MSVC\14.11.25503\bin\HostX64\x64\1033\clui.dll: Version 19.11.25506.0

A partir de esto, puede deducir que _MSC_VER es 1911 (del texto "Versión 19.11") y _MSC_FULL_VER es 191125506.


Ahora, usando la versión completamente lanzada de msvc-14.0 (Visual Studio 2015), puede usar esto:

#if (_MSC_VER > 1800 && _MSC_FULL_VER > 190023026)

¿Hay algún peligro es esto? ¿Deberíamos esperar el próximo lanzamiento de Boost que ha sido editado oficialmente para tener este valor?


En general, abra boost/config/compiler/visualc.hpp y boost/config/compiler/visualc.hpp el mouse sobre _MSC_FULL_VER para ver la versión instalada en su entorno.


He intentado el siguiente código para el Ogre 1.9 en Visual Studio 2015 y funcionó, el código es

La última versión conocida y comprobada es 19.00.23506 (VC ++ 2015 Update 1): if (_MSC_VER> 1800 && _MSC_FULL_VER> 190023506)







visual-studio-2015