Linux FreeBSD共享对象问题

时间:2010-02-23 22:23:06

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

我正在尝试为freebsd构建一个应用程序,该应用程序链接到在linux上构建的共享对象“share.so”。我在/ usr / compat / linux / lib下也有freebsd linux兼容库。我能够编译我的应用程序。但是当链接到“share.so”时,我得到一堆错误,因为share.so(构建于linux上)需要访问“/ usr / compat / linux / lib”下的库。有没有办法告诉share.so调查compat 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文件

1 个答案:

答案 0 :(得分:3)

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