На что ругается линковщик?

Пытаюсь собрать программку на C (без плюсов) с использованием библиотеки GMP:
gcc -g -L/usr/lib/x86_64-linux-gnu/ -llibgmp main.c

Получаю ошибку:
/usr/bin/ld: cannot find -llibgmp
Никак не пойму с чего так, ведь библиотека явно есть и линковщик о ней знает:
$ readlink /usr/lib/x86_64-linux-gnu/libgmp.so
libgmp.so.10.3.0
$ ldconfig -p | grep libgmp
	libgmpxx.so.4 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgmpxx.so.4
	libgmpxx.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgmpxx.so
	libgmp.so.10 (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgmp.so.10
	libgmp.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libgmp.so
$ gcc --version
gcc (Ubuntu 5.4.0-6ubuntu1~16.04.4) 5.4.0 20160609
  • Вопрос задан
  • 368 просмотров
Решения вопроса 1
32seph
@32seph Автор вопроса
В общем видимо что-то было криво в убунте. Проблема решена загрузкой оригинальной библиотеки с gmplib.org.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
CityCat4
@CityCat4
Внимание! Изменился адрес почты!
Вы указали линкеру искать библиотеку liblibgmp.so :) Внезапно? Линкер умный, он знает, что имена библиотек начинаются на "lib..." и поэтому автоматически дописывает это к значению ключа. А файла liblibgmp.so у Вас, конечно же нет :)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы