2015-12-27 15 views
9

Pracuję w projekcie zależnym od Boost (http://kratos-wiki.cimne.upc.edu/index.php/Main_Page), ten projekt obsługuje obecnie tylko C++ 03. Z ostatniej aktualizacji gcC++ (v.5) C++ 11 stał się domyślnym std technicznie I rozwiązać problem zmieniającą CXX_FLAGS dodając:Jak skompilować wzmocnienie ze starszym std C++? (C++ 03 w szczególności)

-std = C++ 03

Problem pochodzi z biblioteki Boost, której nie jestem w stanie skompilować ze stdem C++ 03 (myślę, że nie wiem, jak sprawdzić, z którym stadem się skompilowałem). Próbowałem stosując następujące polecenie, aby skompilować Boost:

./b2 zainstalować etap --with-python --with-serializacji CXXFLAGS = "- std = C++ 03"

mam Próbowałem też zmodyfikować plik Jamroot, dodając następujące linie:

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

Ale problem nadal występuje, kiedy mogę skompilować cały projekt mogę otrzymać następujący rodzaj ostrzeżenia (Seve Czasy RAL):

/usr/local/include/boost/type_traits/detail/template_arity_spec.hpp:13:84 Uwaga: #pragma komunikat: UWAGA: Korzystanie z tego nagłówka (template_arity_spec.hpp) jest przestarzała wiadomość # pragma („UWAGA: Korzystanie z tego nagłówka (template_arity_spec.hpp) jest przestarzała”)

Dlatego podejrzewam, że moje zmiany nie odniosły skutek.

Dziękuję bardzo za pomoc

+1

Wydaje się, że jest to znany problem z funkcją Boost, google it. –

+0

Już to zrobiłem, prawdopodobnie nie zrobiłem tego we właściwy sposób. – user5288

+2

Zobacz http://permalink.gmane.org/gmane.comp.lib.boost.devel/264164. Ponieważ są to tylko ostrzeżenia, prawdopodobnie możesz kontynuować pracę i czekać na naprawę. Alternatywnie możesz przetestować starszą wersję doładowania, jeśli chcesz. – user2672165

Odpowiedz

13

myślę, że można zignorować te ostrzeżenia do teraz. Kompiluję boost 1_60_0 z gcc 5.2.1 i std = C++ 11 i otrzymuję te same ostrzeżenia. Jest na nim ticket, ale w międzyczasie nie sprawiło mi to żadnych problemów. I wypowiedziało się dwóch [Warning] #pragma liniami kodu doładowania, więc nie dostać dużo wyjścia rozpraszających w moim kompilacji:

Boost/type_traits/detal/template_arity_spec.hpp linii 13:

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

Boost/type_traits/detal/linia bool_trait_def.hpp 18:

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

UPDATE problem nadal istnieje w Boost 1.61.0. Użyłem ponownie tej samej dokładnej poprawki.

+2

To samo tutaj. Na razie można to zignorować. Dzięki za link do biletu. –

+1

Nie mogę w to uwierzyć, ale wygląda na to, że nie naprawili tego w wersji 1.61.0. No cóż, ten sam dokładny kod, ta sama dokładna poprawka nadal działa. – moodboom

Powiązane problemy