在Linux x64上与x86共享库链接

在Linux x64上与x86共享库链接,第1张

概述我试图在x64 Ubuntu 11.04 Natty Narwhal上链接x86共享库,但是我得到以下消息: /usr/bin/ld: skipping incompatible ./bin/libshared.so when searching for -lshared/usr/bin/ld: cannot find -lshared 一些细节: 共享库名称为libshared.so 共享库基 我试图在x64 Ubuntu 11.04 Natty Narwhal上链接x86共享库,但是我得到以下消息:

/usr/bin/ld: skipPing incompatible ./bin/libshared.so when searching for -lshared/usr/bin/ld: cannot find -lshared

一些细节:
共享库名称为libshared.so
共享库基于x86 OS构建.
我已经安装了lib32stdc 6.
makefile看起来像这样:

test: main.o    g++ -mi386linux -L./bin -lshared main.o -o testmain.o: main.cpp    g++ -m32 -c main.cpp -o main.o

有任何想法吗?

编辑:
将-mi386linux标志更改为-m32后出现此错误:

/usr/bin/ld: cannot find -lshared  /usr/bin/ld: skipPing incompatible /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/libstdc++.so when searching for -lstdc++/usr/bin/ld: skipPing incompatible /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5.2/libstdc++.a when searching for -lstdc++/usr/bin/ld: cannot find -lstdc++collect2: ld returned 1 exit status

运行locate我在以下地方找到了libstdc .so:

/usr/lib/x86_64-linux-gnu/libstdc++.so.6  /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.14  /usr/lib/x86_64-linux-gnu/gcc/x86_64-linux-gnu/4.5/libstdc++.so  /usr/lib32/libstdc++.so.6  /usr/lib32/libstdc++.so.6.0.14
解决方法 我不确定-mi386linux应该是什么,但如果你在链接行上用-m32替换它,那么我怀疑这会起作用. 总结

以上是内存溢出为你收集整理的在Linux x64上与x86共享库链接全部内容,希望文章能够帮你解决在Linux x64上与x86共享库链接所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/1029780.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存