ld: fatal: library -lm: не найден в солярисе 10

Я пытаюсь скомпилировать объектный файл в SOLARIS 10,

g++ -g -fPIC -Wall -fno-builtin -fhuge-objects -Wl,-Bdynamic,-lposix4,-laio,-ldl,-lthread,-Bstatic filename.o -L. -L /directory1 -L /directory2 -ldirectory1 -ldirectory2 -o filename

it is giving following error:
ld: fatal: library -lm: not found
ld: fatal: library -lc: not found
ld: fatal: library -lc: not found

Теперь я просто удивлен, что я даже не включил -lm и -lc в компиляцию командной строки g ++, тогда почему он сообщает об ошибке и когда я даю такую ​​же компиляцию в SOLARIS 8, она работает. Может кто-нибудь объяснить, почему это ведет себя так?

Я использовал следующую команду, чтобы сделать filename.o:

g++ -I/direcroty_containing_header_file -c filename.cpp -o filename.o -g -fPIC -Wall -fno-builtin -fhuge-objects

0

Решение

В Solaris 10 нет ни libc.a, ни libm.a. Солярис 8 делает.

Вы не можете статически связываться с libc или libm на Solaris 10.

3

Другие решения

Libc и libm являются стандартными C и математическими библиотеками, они обычно автоматически связываются с g ++, так как они так часто используются. Не зная ничего о вашей настройке, трудно сказать, почему я не могу их найти, вероятно, существующие по какой-то причине не используются (другая архитектура, не в пути поиска и т. Д.).

-1

По вопросам рекламы [email protected]