2015-12-27 3 views
9

Ich arbeite in einem Projekt abhängig von Boost (http://kratos-wiki.cimne.upc.edu/index.php/Main_Page), dieses Projekt unterstützt derzeit nur C++ 03. Mit dem letzten Update von gcC++ (V.5) die C++ 11 wird der Standard std worden, technisch gelöst ich das Problem, die CXX_FLAGS Modifikation Zugabe:Wie kompiliert Boost mit einem älteren Standard von C++? (C++ 03 insbesondere)

-std = C++ 03

Das Problem kommt mit der Boost-Bibliothek, die ich nicht mit der C++ 03 std kompilieren kann (ich denke, ich weiß nicht, wie mit welcher Std zu überprüfen ich kompiliert habe). Ich habe versucht, unter Verwendung des folgenden Befehls-Boost zu kompilieren:

./b2 installieren Stufe --with-python --with-Serialisierung CXXFLAGS = "- std = C++ 03"

Ich habe auch versucht, die Jamroot Datei zu ändern, indem die folgenden Zeilen:

<toolset>gcc:<cxxflags>-std=gnu++03 
    <toolset>clang:<cxxflags>-std=c++03 

Aber das Problem bestehen bleiben, wenn ich das ganze Projekt kompilieren ich die folgende Art der Warnung (seve erhalten ral mal):

/usr/local/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: Anmerkung: #pragma message: HINWEIS: Die Verwendung dieses Header (template_arity_spec.hpp) ist veraltet # Pragma-Nachricht („Hinweis: die Verwendung dieses Header (template_arity_spec.hpp) ist veraltet“)

Deshalb habe ich, dass meine Änderungen nicht wirksam vermuten.

Vielen Dank für Ihre Hilfe

+1

Es scheint ein bekanntes Problem mit Boost zu sein, google es. –

+0

habe ich schon gemacht, wahrscheinlich habe ich es nicht richtig gemacht. – user5288

+2

Siehe http://permalink.gmane.org/gmane.comp.lib.boost.devel/264164. Da dies nur Warnungen sind, könnten Sie wahrscheinlich Ihre Arbeit fortsetzen und auf eine Reparatur warten. Alternativ können Sie eine ältere Boost-Version testen, wenn Sie möchten. – user2672165

Antwort

13

Ich glaube, Sie sicher, diese Warnungen für jetzt ignorieren können. Ich kompiliere Boost 1_60_0 mit gcc 5.2.1 und Std = C++ 11, und ich bekomme die gleichen Warnungen. Es gibt eine ticket drauf, aber mittlerweile hat es mir zu dieser Zeit keine Probleme bereitet. Ich bemerkte aus den beiden [Pragma Warnung] Linien im Boost-Code, so dass ich nicht viel ablenkende Ausgabe in meinem Build erhalten:

boost/type_traits/detail/template_arity_spec.hpp Linie 13:

// noisy: # pragma message("NOTE: Use of this header (template_arity_spec.hpp) is deprecated") 

boost/type_traits/detail/bool_trait_def.hpp Linie 18:

// noisy: # pragma message ("NOTE: Use of this header (bool_trait_def.hpp) is deprecated") 

UPDATE Das Problem besteht nach wie vor in boost 1.61.0. Ich habe den gleichen genauen Fehler behoben.

+2

Das gleiche hier. Dies kann für jetzt ignoriert werden. Danke für den Link zum Ticket. –

+1

Ich kann es nicht glauben, aber es scheint, dass sie dies in 1.61.0 nicht behoben haben. Na ja, derselbe genaue Code, derselbe genaue Fix funktioniert immer noch. – moodboom

Verwandte Themen