Я не могу найти библиотеку математики

Я только что установил Ubuntu 12.04 LTS и у меня проблемы с подключением к математическим функциям (из). Я установил gcc и смог нормально скомпилировать исходный код. Тем не менее, попытка:

gcc -lm montecarlo_time.o parsercfile.o -o trmcfl

Дает несколько ошибок вида:

montecarlo_time.o: In function `main:
/home/karthik/Research/MC/trmcfl/Dumps/whiteScaling/18-Sep-2012/montecarlo_time.c:75: undefined reference to asin`

Однако все эти файлы присутствуют (и видны для ldconfig -v -N)

/lib/i386-linux-gnu/libm.so.6
/lib64/libm.so.6
/usr/lib/i386-linux-gnu/libm.a
/usr/lib/i386-linux-gnu/libm.so
/usr/lib/i386-linux-gnu/xen/libm.a
/usr/lib64/libm.a
/usr/lib64/libm.so

Почему связь не работает?

2
задан 8 February 2017 в 14:05

2 ответа

Вы должны использовать -lm в конце.

потому что неразрешенные символы обнаруживаются после gcc-встреч montecarlo_time.o, и нет библиотеки или чего-либо еще, в чем он мог бы найти это, может разрешить этот символ.

0
ответ дан 8 February 2017 в 14:05

Я всегда печатал gcc -lm file.c; До самой последней версии Ubuntu это работало. В интернете я вижу предположения, что это плохой стиль, но он работает. Кажется, теперь это изменилось.

0
ответ дан 8 February 2017 в 14:05

Другие вопросы по тегам:

Похожие вопросы: