Ld: fatal: library -lm:在solaris 10中没有找到

ld: fatal: library -lm: not found in solaris 10

本文关键字:solaris fatal library -lm Ld      更新时间:2023-10-16

我正在尝试在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

现在我很惊讶,我甚至没有在g++命令行编译中包含-lm和-lc,那么为什么它会报告这样的错误,当我在SOLARIS 8中给出相同的编译时,它工作了。有人能解释一下为什么它会这样吗?

我用下面的命令生成filename.o:

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

Solaris 10没有libc。A nor liba。

Libc和libm是标准的C和数学库,它们通常被g++自动链接,因为它们是如此常用。在不了解您的设置的情况下,很难说为什么找不到它们,可能存在的那些由于某种原因(不同的架构,不在搜索路径中等)而未使用。