Comment configurer libstdc++ avec GCC 4.8?

A quelques temps, j'ai décidé de passer à GCC 4.8 afin d'obtenir un démarrage rapide sur c++11 caractéristiques. Je me suis un peu dérouté, cependant, et n'a pas vraiment mis tout les nouvelles fonctionnalités de l'utiliser jusqu'à ce qu'un projet il y a quelques jours (le nouveau compilateur semble avoir été fonctionne bien, mais c'est peut être juste parce que je n'étais pas l'utilisation de toute nouvelle fonctionnalité.)

Dans ce nouveau projet, lorsque j'ai compilé avec l' =std=c++11 drapeau, je n'ai eu aucun problèmes. Cependant, au moment de l'exécution, j'obtiens l'erreur:

./main: /usr/lib/i386-linux-gnu/libstdc++.so.6: versionGLIBCXX_3.4.18' ne trouve pas (exigé par ./principal)`

Je suppose qu'il y a un problème de liaison à un plus moderne libstdc++ de la bibliothèque associée avec GCC 4.8, mais je ne peux pas pour la vie de me comprendre comment résoudre ce problème ou si la bibliothèque appropriée devrait être. Je me souviens symboliquement liaison la g++ et gcc binaires gcc-4.8, qui semble fonctionner, puisque g++ -v retourne:

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 autre thread en ligne m'a conduit à regarder la ldd de sortie pour le programme, qui ne me montrer que la structure de répertoire pour la libstdc++ bibliothèques être lié à était différente de la structure de répertoire pour les fichiers binaires. Je ne pouvais pas, cependant, trouver le bon libstdc++ bibliothèques dans le dernier, donc je ne sais pas où chercher. La sortie de ldd main est:

./main: /usr/lib/i386-linux-gnu/libstdc++.so.6: versionGLIBCXX_3.4.18' ne trouve pas (exigé par ./principal)
linux-gate..1 => (0xb7791000)
libstdc++..6 => /usr/lib/i386-linux-gnu/libstdc++..6 (0xb768e000)
libm..6 => /lib/i386-linux-gnu/libm..6 (0xb7662000)
libgcc_s..1 => /lib/i386-linux-gnu/libgcc_s..1 (0xb7644000)
libc..6 => /lib/i386-linux-gnu/libc..6 (0xb749b000)
/lib/ld-linux..2 (0xb7792000)`

Je ne sais pas exactement où cela se passe mal, et je vais continuer à Googler et autour de la recherche des réponses, mais toute aide que vous les gars pourrait offrir serait grandement apprécié. Si quelque chose n'est pas claire sur la question ou j'ai oublié quelques informations, faites le moi savoir et je vais essayer d'ajouter que dans. Merci beaucoup!

OriginalL'auteur paul | 2013-05-30