LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
楼主: lrz

编译出错,cannot find -lm

[复制链接]
发表于 2004-7-28 18:54:19 | 显示全部楼层
LDFLAGS="-Vaxlib -static"
改成
LDFLAGS="-L/usr/lib -Vaxlib -static"
试试?
发表于 2004-7-28 18:58:19 | 显示全部楼层
还有,/usr/lib里有没libm.a ?
发表于 2004-7-28 19:00:52 | 显示全部楼层
修改完/etc/ld.so.conf后执行ldconfig没有?如果不执行这个命令,/etc/ld.so.cache的内容就没有更新,库文件的路径还是原来的。
 楼主| 发表于 2004-7-28 19:07:22 | 显示全部楼层
still did not work.


:help
 楼主| 发表于 2004-7-28 19:09:12 | 显示全部楼层
最初由 kj501 发表
修改完/etc/ld.so.conf后执行ldconfig没有?如果不执行这个命令,/etc/ld.so.cache的内容就没有更新,库文件的路径还是原来的。


yes, I have.
 楼主| 发表于 2004-7-28 19:10:10 | 显示全部楼层
最初由 doubleelec 发表
还有,/usr/lib里有没libm.a ?


there is only libm.so@
no libm.a

what is this?
 楼主| 发表于 2004-7-28 19:13:35 | 显示全部楼层
最初由 doubleelec 发表
LDFLAGS="-Vaxlib -static"
改成
LDFLAGS="-L/usr/lib -Vaxlib -static"
试试?


still did not work.
:help
发表于 2004-7-28 19:19:53 | 显示全部楼层
最初由 lrz 发表
there is only libm.so@
no libm.a

what is this?

libm.so是共享库,libm.a是静态库。
用ls -l 看看libm.so@是链接到那个文件的?
发表于 2004-7-28 19:22:47 | 显示全部楼层
不明白为啥你的链接命令中并没有 -lm
不知是不是在写在了后面的某个 .o 文件中
如果这样,链接命令中指定了 -static 选项,要求静态链接链接
就必须有 /usr/lib/libm.a 了(.a是静态库, .so是动态库)

你的问题的确比较怪,只能慢慢试了
 楼主| 发表于 2004-7-28 19:23:20 | 显示全部楼层
ls -l /usr/lib/libm.so
         lrwxrwxrwx 1 root root 19 Jul 27 21:34 /usr/lib/libm.so -> ../../lib/libm.so.6*
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表