2015-12-27 8 views
9

Sto lavorando in un progetto dipendente da Boost (http://kratos-wiki.cimne.upc.edu/index.php/Main_Page), questo progetto supporta attualmente solo C++ 03. Con l'ultimo aggiornamento di gcC++ (v.5) C++ 11 è diventata la std predefinita, tecnicamente risolto il problema modificando le CXX_FLAGS aggiungendo:Come compilare Boost con un vecchio std di C++? (C++ 03 in particolare)

-std = C++ 03

Il problema arriva con la libreria Boost, che non riesco a compilare con il C++ 03 std (penso, non so come controllare con quale std ho compilato). Ho provato utilizzando il seguente comando per compilare Boost:

./b2 installare fase --with-python --with-serializzazione CXXFLAGS = "- std = C++ 03"

ho provato anche modificare il file Jamroot, aggiungendo le seguenti righe:

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

Ma il problema persiste, quando compilo l'intero progetto ottengo il seguente tipo di avviso (Seve volte RAL):

/usr/local/include/boost/type_traits/detail/template_arity_spec.hpp:13:84: nota: messaggio #pragma: NOTA: L'utilizzo di questa intestazione (template_arity_spec.hpp) è sconsigliata # messaggio pragma ("NOTA: l'utilizzo di questa intestazione (template_arity_spec.hpp) è deprecato")

Ecco perché ho il sospetto che i miei cambiamenti non hanno effetto.

La ringrazio molto per il vostro aiuto

+1

Sembra essere un problema noto con Boost, google it. –

+0

L'ho già fatto, probabilmente non l'ho fatto nel modo giusto. – user5288

+2

Vedere http://permalink.gmane.org/gmane.comp.lib.boost.devel/264164. Poiché questi sono solo avvertimenti, probabilmente potresti continuare il tuo lavoro e aspettare una soluzione. In alternativa, è possibile testare una versione di potenziamento più vecchia, se lo si desidera. – user2672165

risposta

13

penso che si può tranquillamente ignorare questi avvertimenti per ora. Sto compilando boost 1_60_0 con gcc 5.2.1 e std = C++ 11, e ottengo gli stessi avvertimenti. C'è un ticket su di esso, ma nel frattempo non mi ha causato alcun problema in questo momento. Ho commentato i due [di avviso #pragma] righe nel codice di spinta, in modo da non ottengo un sacco di uscita distrazione nella mia costruzione:

linea di boost/type_traits/dettaglio/template_arity_spec.hpp 13:

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

boost/type_traits/dettaglio/linea bool_trait_def.hpp 18:

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

UPDATE Il problema esiste ancora in spinta 1.61.0. Ho usato di nuovo la stessa soluzione esatta.

+2

Lo stesso qui. Questo può essere ignorato per ora. Grazie per il link al biglietto. –

+1

Non ci posso credere, ma sembra che non abbiano risolto questo problema in 1.61.0. Oh bene, lo stesso codice esatto, la stessa correzione esatta funziona ancora. – moodboom

Problemi correlati