[英]Dynamically linked library cannot be found in cross-compilation
我一直在嘗試用二進制文件動態鏈接共享對象。 一切正常,直到我嘗試運行它,這給了我:
/tmp/test: error while loading shared libraries: libxl.so: cannot open shared object file: No such file or directory
另外ldd表示找不到該文件。 當然,有問題的庫位於默認位置(/ lib / arm-linux / gnueabihf)。 復制庫之后,我也運行了ldconfig。
我檢查了以下內容:
該庫的創建方式為:
ELF 32-bit LSB shared object, ARM, EABI4 version 1 (SYSV), dynamically linked
而測試二進制文件是:
ELF 32-bit LSB executable, ARM, EABI5 version 1 (SYSV), dynamically linked
EABI版本能否在運行中引起此類問題? 還有什么我可以嘗試使其運行的嗎?
庫路徑必須是主機中的庫位置,而不是目標計算機中的位置。 似乎“ / lib / arm-linux / gnueabihf”是目標計算機中庫的位置。
在您的工具鏈sysroot中找到libxl.so的正確路徑。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.