2015-06-10 4 views
45

ich „Unknown Compiler-Version - laufen Sie Tests konfigurieren und die Ergebnisse berichten“ beim Versuch, Boost-Bibliothek auf meinem Computer zu kompilieren.
Ich habe letzten Boost (ab Datum des Posts) - 1.58.0.
Hat Erhöhung Unterstützung nicht 14,0 MSVC, noch? Wie führe ich die Konfigurationstests aus?
Screenshots.Unbekannt Compiler-Version, während Erhöhung mit MSVC Kompilieren 14,0 (VS 2015)

+0

Was sagt die Boost-Dokumentation dazu? – KABoissonneault

+0

@AdrianoRepetti: Wie definiere ich "BOOST_ASSERT_CONFIG"? Vielleicht möchten Sie Screenshots sehen. Ich bin noch nicht einmal im Visual Studio Projekt. Ich möchte zuerst lib-Datei kompilieren .... Auch .. -1? Erklären Sie zumindest warum. – OmegaExtern

+0

@KABoissonneault Zur Beantwortung Ihrer Frage, Dokumentation, sagt: "Die Bibliothek wurde erfolgreich auf den folgenden Plattformen gebaut und getestet: ... MSVC 9.0 und neuer". Ich verstehe es nicht .. – OmegaExtern

Antwort

59

Neueste (zu der Zeit diese Antwort der Entsendung) Erhöhung 1,58 tut Unterstützung MSVC 14.0 Preview, die der neueste MS-Compiler zum Zeitpunkt der Boost-1.58-Release war. Nun ist die neueste Version von Visual Studio ist 2015 RC, die nicht in der Boost-1,58-Konfigurationsdatei abgedeckt ist.

zu stoppen Um 1.58 beschwerte sich über unbekannte Compiler-Version bearbeiten Erhöhung boost/config/compiler/visualc.hpp und ersetzen:

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

mit:

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

, die Sie bereits getan 1.59 Release im Boost-Repo here zu den kommenden Erhöhung finden .

aktualisieren: Für Visual Studio 2015 RTM setzen Sie ihn auf:

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

Update2: Für Visual Studio 2015 Update 1 setzen Sie ihn auf:

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

auch früher, wenn Sie von C:\Users\<name>\AppData\Local\Temp die folgenden Dateien im Cache löschen Boost.Build auf toolset=msvc-14.0 läuft dann waren:

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

Mehr über dieses here.

Update3 Für die Zukunft, in der Visual Studio-Tools Eingabeaufforderung den Befehl cl /Bv Ihre Versionsnummern (die Parameter sind Groß- und Kleinschreibung) zu sehen.

-Mine gibt das folgende:

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 

Daraus können Sie die ableiten _MSC_VER ist 1911 (aus dem Text "Version 19.11") und die _MSC_FULL_VER ist 191125506.

+0

Am Ende - builded erfolgreich. Trotzdem, danke für deine Information. – OmegaExtern

+2

Und für die nächsten VS Updates, können magische Zahlen durch 'cl' Befehl in' Visual Studio Eingabeaufforderung (2015) ' –

4

nun die vollständig freigegebene Version mit von msvc-14.0 (Visual Studio 2015), können Sie dies verwenden:

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

Gibt es irgendeine Gefahr ist das? Sollten wir stattdessen auf die nächste Veröffentlichung von Boost warten, die offiziell bearbeitet wurde, um diesen Wert zu haben?

26

Visual Studio 2015 Update 1:

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

Visual Studio 2015 Update 2:

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

Visual Studio 2015 Update 3:

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

Visual Studio 2017 (Credit: sonnig Mond):

#if (_MSC_VER > 1910 && _MSC_FULL_VER > 191025017) 

Visual Studio 2017 15.3:

#if (_MSC_VER > 1911 && _MSC_FULL_VER > 191125506) 
// Alternative version (Credit zzz): 
#if (_MSC_VER > 1911) 

Visual Studio 2017 15,5 (Credit giles):

#if (_MSC_VER > 1912 && _MSC_FULL_VER > 191225830) 
// Alternative version: 
#if (_MSC_VER > 1912) 

Visual Studio 2017 15.6:

#if (_MSC_VER > 1913 && _MSC_FULL_VER > 191326128) 
// Alternative version: 
#if (_MSC_VER > 1913) 
+1

Visual Studio 2017:' #if (_MSC_VER> 1910 && _MSC_FULL_VER> 191025017) ' –

+0

VS2015U3 ist 190024215 – Flamefire

+0

Diese Antwort ist besser als die angenommene :) –

-1

ich den folgenden Code versucht haben, für den Ogre 1.9 in Visual Studio 2015 und das funktionierte der Code ist

letzte bekannte und geprüfte Version ist 19.00.23506 (VC++ 2015 Update 1): if (_MSC_VER> 1800 & & _MSC_FULL_VER> 190023506)

3

Im Allgemeinen offen boost/config/compiler/visualc.hpp und bewegen Sie die Maus über _MSC_FULL_VER die Version sehen installiert auf deine Umgebung.