Ошибка линковки библиотеки libm.so

Рейтинг: 2Ответов: 1Опубликовано: 22.04.2015

Доброго времени суток!

Пытаюсь скомпилировать проект на C. Компиляция проходит успешно, а вот на этапе линковки возникают проблемы с libm.so. Компоновщик упорно ее не видит. Использую компилятор gcc под ОС CentOS. Много раз пересмотрел Makefile, в нем вроде все корректно. Я не очень знаком с компиляцией gcc, но насколько я понял -lm должно решить проблему (компоновщик автоматически разрешает путь к библиотеке), однако это не помогает. Подскажите, что я делаю не так и как можно решить проблему?

PS Строка компиляции и линковки примерно такая:

gcc source1.c source2.c -L. mylib.a -lm -static

PPS Может дело в -static?

Ответы

▲ 3Принят

вероятно, линковщик не может найти статическую сборку библиотеки libm — файл libm.a.

этот файл входит либо в пакет glibc-static, либо glibc-devel.

установить его в centos можно командой yum install glibc-static (yum install glibc-devel).