1
我試圖交叉編譯ARM處理器系統的項目。我可以通過建設步驟,但在鏈接上失敗。交叉編譯:鏈接到mysql,liblog4cpp等
有問題的應用程序鏈接liblog4cpp
和libmysql
。爲了使構建能夠正常工作,我從ARM系統中拷貝了相關文件,但似乎存在運行時依賴關係。具體錯誤:
/usr/lib/gcc/arm-linux-gnueabi/4.4.5/../../../../arm-linux-gnueabi/bin/ld:
warning: libz.so.1, needed by /usr/lib/mysql_arm/libmysqlclient.so,
not found (try using -rpath or -rpath-link)
/usr/lib/mysql_arm/libmysqlclient.so: undefined reference to `compress'
/usr/lib/mysql_arm/libmysqlclient.so: undefined reference to `uncompress'
collect2: ld returned 1 exit status
在我的構建步驟我鏈接到libz.so而是利用-rpath
的建議使我不知道如果MySQL庫需要一個運行時的鏈接。如果我在構建系統上設置了這個值,當它在運行系統中找不到相應的路徑時,會不會感到不安?
另外 - 有沒有辦法使用apt-get
安裝其他目標文件?我從emdebian安裝了交叉編譯器,但是我沒有看到爲特定目標獲取庫文件而無需重新編譯構建系統的方法。