我一直在尝试动态链接共享对象和二进制文件。一切都很好,直到我尝试运行它,这给了我:
/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版本可以在运行时导致这些问题吗?还有什么我可以尝试让它运行吗?
答案 0 :(得分:0)
库路径必须是HOST计算机中的库而不是目标计算机的位置。看来“/ lib / arm-linux / gnueabihf”是目标机器中库的位置。
在工具链sysroot中找到libxl.so的正确路径。