Levenberg-Marquardt
(どこかからダウンロードされた)の実装があり、それをコンパイルしようとしていますが、次のエラーが発生します。
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
多くのサイトで、与えられた解決策はいくつかのフラグを追加することでした(たとえば、こことここ)。しかし、どれも私のために働いていませんでした。
glibcのバージョンは何ですか?
—
nixeagle 2014
ldd --version
与えた(Ubuntu EGLIBC 2.19-0ubuntu6.3) 2.19
。
Makefileを含めてください。これは明らかにライブラリの依存関係が壊れている(そしてglibバージョンの不一致の可能性がある)ものです。
—
nixeagle 2014
追加してみました
—
muru、2014
-lm
か?どこに追加しましたか?