2010-02-23 68 views
2

我正在嘗試構建一個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中/Linux FreeBSD共享對象問題

/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文件。

+0

請發佈您的鏈接器命令(Makefile?)和任何相關的錯誤 – 2010-02-24 05:32:59

+0

嗨,山姆,我更新了我的問題,我得到的警告。我們實際上可以訪問sharedlib的源代碼,所以我們正在爲freebsd編譯它。但我仍然想知道你是否對如何解決這個問題有任何想法。爲了鏈接,我只是給了sharedlib -L ​​/ path/to/sharedlib的路徑。我也嘗試將-L/usr/compat/linux/usr/lib添加到命令中,但它沒有工作 – Kamal 2010-02-26 03:28:01

回答