Eine ähnliche Frage wurde hier gestellt , ist aber unbeantwortet.
Ich habe eine Implementierung von Levenberg-Marquardt
(von irgendwo heruntergeladen) und versuche sie zu kompilieren, erhalte aber den folgenden Fehler.
gauravloj@vertex:~/Documents/source_code/non-rigid_registration/Gauss_newton/levmar-2.6$ make
[ 87%] Built target levmar
Linking C executable lmdemo
/usr/bin/ld: CMakeFiles/lmdemo.dir/lmdemo.c.o: undefined reference to symbol 'exp@@GLIBC_2.2.5'
//lib/x86_64-linux-gnu/libm.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [lmdemo] Error 1
make[1]: *** [CMakeFiles/lmdemo.dir/all] Error 2
make: *** [all] Error 2
An vielen Standorten bestand die Lösung darin, einige Flags hinzuzufügen (z. B. hier und hier ). Aber keiner von ihnen hat für mich gearbeitet.
Hier ist das Makefile, hier ist die CMakeLists.txt und hier ist die CMakeCache.txt.
ldd --version
gab (Ubuntu EGLIBC 2.19-0ubuntu6.3) 2.19
.
-lm
? Wo hast du es hinzugefügt?