неопределенная ссылка на символ 'exp @@ GLIBC_2.2.5'

7

Аналогичный вопрос был задан здесь , но без ответа .

У меня есть реализация 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

На многих сайтах данное решение состояло в том, чтобы добавить несколько флагов (например, здесь и здесь ). Но никто из них не работал для меня.

Здесь находится Makefile, здесь CMakeLists.txt и здесь - это CMakeCache.txt.

    
задан Shashwat 23.09.2014 в 21:54
источник

3 ответа

6

Похоже, пользователь, который нашел решение, никогда не делился им позже. Для парней, которые пытаются найти решение, просто добавьте математическую библиотеку явно, а также добавьте -ldl

Итак, -lm и -ldl в строке gcc , которую вы компилируете, и это должно быть прекрасным.

Кроме того, в большинстве случаев вы также можете явно определить CFLAGS и облегчить проблему таким образом. Это всего лишь два способа решения,

Пример:

user@compiler-shell$ EXPORT CFLAGS=" -g -O2 -lm -ldl -Wall -Wpointer-arith -finline-functions -ffast-math -funroll-all-loops";
    
ответ дан Chandan Maddanna 01.04.2016 в 00:19
источник
5

Я добавил -lm в CMakeLists.txt , где назначаются библиотеки. Теперь он работает.

    
ответ дан Shashwat 25.09.2014 в 03:42
источник
2

Я нашел эту тему с аналогичной проблемой. Явным образом, решение заключается в поиске и изменении в файле CMakeLists.txt:

TARGET_LINK_LIBRARIES(lmdemo ${LIBS})

to

TARGET_LINK_LIBRARIES(lmdemo -lm ${LIBS})
    
ответ дан hiddeninthewifi 21.05.2015 в 20:06
источник

Ознакомьтесь с другими вопросами по меткам