2017-09-06 1 views
1

J'essayais de croiser dlib pour Raspberry Pi, en utilisant le compilateur arm-linux-gnueabihf.libstdC++ Erreur: 'GLIBCXX_3.4.22' non trouvé

après l'exécution avec succès de cmake et make -j4, j'ai couru python setup.py bdist_wheel --repackage, qui a créé le besoin .so que je plus tard copiés sur mon Pi de /usr/lib en utilisant scp.

Maintenant, quand je lance import dlib en IDLE, je reçois l'erreur suivante:

ImportError: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.22' not found (required by dlib/dlib.so)

Voici le ouput de strings /usr/lib/libstdc++.so.6 | grep GLIBCXX:

GLIBCXX_3.4 GLIBCXX_3.4.1 GLIBCXX_3.4.2 GLIBCXX_3.4.3 GLIBCXX_3.4.4 GLIBCXX_3.4.5 GLIBCXX_3.4.6 GLIBCXX_3.4.7 GLIBCXX_3.4.8 GLIBCXX_3.4.9 GLIBCXX_3.4.10 GLIBCXX_3.4.11 GLIBCXX_3.4.12 GLIBCXX_3.4.13 GLIBCXX_3.4.14 GLIBCXX_3.4.15 GLIBCXX_3.4.16 GLIBCXX_3.4.17 GLIBCXX_3.4.18 GLIBCXX_3.4.19 GLIBCXX_3.4.20

Cela signifie que l'erreur est légitime, mais ma libstdC++ est déjà à sa dernière version sur le Pi. Que puis-je faire pour obtenir cette version 3.4.22 installée sur le Pi? Ou peut-être, si c'est possible, de le compiler à nouveau contre 3.4.20? Comment puis-je définir un indicateur de compilateur pour cela?

Note: J'ai posté ceci sur le site de RaspberryPi SE, mais on m'a suggéré de le demander ici. libstdc++ Error

+0

Pour mon cas, j'ajoute '-static-libstdC++'. Par exemple, 'g ++ -static-libstdC++ main.cpp'. – Yves

+0

Où stocke static-libstdC++? –

+0

Je ne sais pas. Regardez ici: https://stackoverflow.com/questions/5216399/usr-lib-libstdc-so-6-version-glibcxx-3-4-15-not-found – Yves

Répondre