AIX上gcc编译代码,找不到链接的共享库

liangshaobai 发布于 2016/03/09 18:28
阅读 1K+
收藏 0
GCC
编译结果:        
gcc -maix64 -fPIC -shared -L/home/cbs/ecb/lib -lmemwatch -o ../bin/libenvinfo_d.so libenvinfo_d.o 
ld: 0706-006 Cannot find or open library file: -l memwatch
        ld:open(): No such file or directory
collect2: error: ld returned 255 exit status
make: The error code from the last command is 1.
一直报找不到memwatch库,但是在/home/cbs/ecb/lib是存在这个库的
>ls -lrt /home/cbs/ecb/lib/libmemwatch.so
-rwxr-xr-x    1 cbs      staff         92328 Mar  9 14:25 /home/cbs/ecb/lib/libmemwatch.so


跪求各位大神能帮忙解决。
加载中
0
ericsoul
ericsoul
xlc么aix不是
liangshaobai
liangshaobai
不是用的xlc,我在aix上装了gcc
0
xpbob
xpbob
你可以把-lmemwatch 这个选项放在编译指令最后面试试,win上的gcc就是这样,就是链接库要放在最后面
liangshaobai
liangshaobai
gcc -maix64 -fPIC -shared -o ../bin/libenvinfo.so libenvinfo.o -L/home/cbs/ecb/lib -lmemwatch 依旧不行,还是报原来的错误。
0
铂金胖子
铂金胖子

确定libmemwatch 是通过gcc编译的吗?


建议在aix下面用xlc编译,因有些aix软件的库只能通过xlc编译链接。


0
xpbob
xpbob

引用来自“xpbob”的评论

你可以把-lmemwatch 这个选项放在编译指令最后面试试,win上的gcc就是这样,就是链接库要放在最后面

gcc -maix64 -fPIC -shared -L/home/cbs/ecb/lib  -o ../bin/libenvinfo_d.so libenvinfo_d.o -lmemwatch

这个样子试试,我没试过把库路径也放在后面

返回顶部
顶部