Je suis en train de compiler gobby, et la compilation des arrêts avec ces erreurs:question g ++ et glibmm
/usr/lib64/gcc/x86_64-slackware-linux/4.9.3/../../../../lib64/libglibmm-2.4.so: undefined reference to `std::out_of_range::out_of_range(char const*)@GLIBCXX_3.4.21'
/usr/lib64/gcc/x86_64-slackware-linux/4.9.3/../../../../lib64/libglibmm-2.4.so: undefined reference to `std::underflow_error::underflow_error(char const*)@GLIBCXX_3.4.21'
/usr/lib64/gcc/x86_64-slackware-linux/4.9.3/../../../../lib64/libglibmm-2.4.so: undefined reference to `std::overflow_error::overflow_error(char const*)@GLIBCXX_3.4.21'
Première réaction vérifiait la commande de liaison. Il se termine comme ceci:
... -lgsasl -lgnutls -lgtkmm-3.0 -latkmm-1.6 -lgdkmm-3.0 -lgiomm-2.4 -lpangomm-1.4 **-lglibmm-2.4** -lcairomm-1.0 -lsigc-2.0 -lgtksourceview-3.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -linfgtk-0.7 -linftextgtk-0.7 -linftext-0.7 -linfinity-0.7 -lxml2 -lgnutls -lgsasl -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0
(j'ai marqué la bibliothèque -lglibmm-2.4
avec **
Je pense que ce dont les identifiants doivent être définis pour être sûr que je courais..
$ objdump -TC libglibmm-2.4.so.1.3.0 | grep out_of_range
0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4.21 std::out_of_range::out_of_range(char const*)
0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4 std::out_of_range::~out_of_range()
0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4.20 std::__throw_out_of_range_fmt(char const*, ...)
0000000000000000 DO *UND* 0000000000000000 GLIBCXX_3.4 typeinfo for std::out_of_range
$ objdump -TC libglibmm-2.4.so.1.3.0 | grep overflow_error
0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4.21 std::overflow_error::overflow_error(char const*)
0000000000000000 DF *UND* 0000000000000000 GLIBCXX_3.4 std::overflow_error::~overflow_error()
0000000000000000 DO *UND* 0000000000000000 GLIBCXX_3.4 typeinfo for std::overflow_error
Ainsi, ils semblent être . non définie dans le fichier .so Où doivent-ils être définis puis
@RinatVeliakhmedov, je viens de lancer ./configure et make - aucune modification n'a été apportée aux originaux du tar.gz – jcoppens
es-tu lié à quelque chose de pré-construit pour une plate-forme différente? C'est quand j'ai vu des problèmes comme ça avant. – xaxxon
@xaxxon, vous ne savez pas ce que vous demandez - une compilation croisée? Tout est "natif", je compile sur x86_64, et c'est aussi la destination. – jcoppens