求教:在solaris下编译了gcc以后,链接32位库和64位库的困惑

发布于 2022-09-06 17:17:42 字数 696 浏览 11 评论 2

求教各位大侠:
   
    我在x86下的Solaris10下,编译了gcc-4.5.1,编译为32位的文件。
    目前编译32位的程序都没有问题,但一旦加-m64 编译64位的程序,虽然可以完成编译。但执行这些程序的时候,就报错:

    ld.so.1: test-all: fatal: /opt/gcc/4.5.1/lib/libstdc++.so.6: wrong ELF class: ELFCLASS32
     
      我知道这个是默认链接了32位的运行时库,所以在编译64位程序的时候,我在makefile里面加了 -R /opt/gcc/4.5.1/lib/amd64,一时可以解决这个问题。

    但是这样还是有问题,一些已安装的程序(64位) 在运行时也报告:

      fatal:/opt/gcc/4.5.1/lib/libgcc_s.so.1 :wrong ELF Class,ELFCLASS32

     有没有什么办法,能够让系统自动的去判断链接32位库和64位运行时库啊,这个问题,搞得我很困惑,先谢谢各位了

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

我不吻晚风 2022-09-10 18:19:05

回复 2# cafesun

应该是这样!

極樂鬼 2022-09-10 17:16:24

我自己来结贴吧,刚刚摸索出来了,在LD_LIBRARY_PATH变量中,增加64位运行时库的路径即可。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文