Un po 'di tempo fa, ho deciso di eseguire l'aggiornamento a GCC 4.8 per ottenere un avvio anticipato su alcune funzionalità di C++ 11. Sono stato un po 'sviato, però, e non ho messo nessuna delle nuove funzionalità da usare fino a qualche progetto fa (il nuovo compilatore sembrava funzionare bene, ma potrebbe essere solo perché non stavo utilizzando qualsiasi nuova funzionalità.)Come configurare libstdC++ con GCC 4.8?
In questo nuovo progetto, quando ho compilato con il flag = std = C++ 11, non ho avuto problemi. Tuttavia, in fase di esecuzione, ottengo l'errore:
./main: /usr/lib/i386-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.18' not found (required by ./main)`
suppongo che ci sia un problema di collegamento ad una più moderna libreria libstdC++ associato con GCC 4.8, ma non posso per la vita di me capire come correggi questo o dove dovrebbe essere la libreria appropriata. Mi ricordo simbolico che collega il g ++ e binari gcc a gcc-4.8, che sembra funzionare, dal momento che g++ -v
rendimenti:
Using built-in specs. COLLECT_GCC=g++ COLLECT_LTO_WRAPPER=/app/gcc/4.8.0/libexec/gcc/i686-pc-linux-gnu/4.8.0/lto-wrapper Target: i686-pc-linux-gnu Configured with: ./gcc-4.8.0/configure --prefix=/app/gcc/4.8.0 Thread model: posix gcc version 4.8.0 (GCC)
Un altro thread in linea mi ha portato a guardare il ldd
uscita per il programma, che fatto mostrami che la struttura di directory per le librerie libstdC++ collegate era diversa dalla struttura di directory per i binari. Tuttavia, non sono riuscito a trovare le appropriate librerie libstdc++
in quest'ultimo, quindi non sono sicuro di dove cercare. L'uscita per ldd main
è:
./main: /usr/lib/i386-linux-gnu/libstdc++.so.6: version
GLIBCXX_3.4.18' not found (required by ./main) linux-gate.so.1 => (0xb7791000) libstdc++.so.6 => /usr/lib/i386-linux-gnu/libstdc++.so.6 (0xb768e000) libm.so.6 => /lib/i386-linux-gnu/libm.so.6 (0xb7662000) libgcc_s.so.1 => /lib/i386-linux-gnu/libgcc_s.so.1 (0xb7644000) libc.so.6 => /lib/i386-linux-gnu/libc.so.6 (0xb749b000) /lib/ld-linux.so.2 (0xb7792000)`
non sono sicuro esattamente dove questo sta andando male, e continuerò usare Google e guardandosi intorno per le risposte, ma qualsiasi aiuto voi ragazzi potrebbe offrire sarebbe molto apprezzato. Se qualcosa non è chiaro sul problema o ho dimenticato alcune informazioni, fammelo sapere e cercherò di aggiungerlo. Grazie mille!
possibile duplicato di [Collegamento g ++ 4.8 a libstdC++] (http://stackoverflow.com/questions/17220872/linking-g-4-8-to-libstdc) –