【问题标题】:Linux FreeBSD shared object problemLinux FreeBSD 共享对象问题
【发布时间】:2010-02-23 22:23:05
【问题描述】:

我正在尝试为 freebsd 构建一个应用程序,该应用程序链接到在 linux 上构建的共享对象“share.so”。我在 /usr/compat/linux/lib 下也有 freebsd linux 兼容库。我能够编译我的应用程序。但是在链接到“share.so”时,我遇到了一堆错误,因为 share.so(基于 linux 构建)需要访问“/usr/compat/linux/lib”下的库。有没有办法告诉 share.so 查看兼容的 linux 目录而不是 /usr/lib/

/usr/bin/ld: warning: libstdc++.so.6, needed by sharedlib.so, not found (try using -rpath or -rpath-link)

/usr/bin/ld: warning: libm.so.6, needed by sharedlib.so, not found (try using -rpath or -rpath-link)

/usr/bin/ld: warning: libgcc_s.so.1, needed by sharedlib.so, not found (try using -rpath or -rpath-link)

/usr/bin/ld: warning: libpthread.so.0, needed by sharedlib.so, not found (try using -rpath or -rpath-link)

这些是我收到的警告。这些版本在 compat/linux/lib 中可用,因为 /usr/lib 包含较低版本。这里sharedlib.so是linux上生成的.so文件

【问题讨论】:

  • 请发布您的链接器命令(Makefile?)和任何相关错误
  • 嗨 Sam,我用收到的警告更新了我的问题。我们实际上可以访问 sharedlib 的源代码,因此我们正在为 freebsd 编译它。但是我仍然想知道您是否对如何解决此问题有任何想法。对于链接,我只是给出了 sharedlib -L ​​/path/to/sharedlib 的路径。我也尝试将 -L/usr/compat/linux/usr/lib 添加到命令中,但它不起作用

标签: linux linker shared-libraries freebsd linker-errors


【解决方案1】:

您需要修改您的 loader configuration 以告诉它在该目录中查找库。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多