加载共享库时出错:foo.so:无法打开共享对象文件:没有此类文件或目录 我有交叉编译的C++代码,用于树莓PI。< /P>
下面是我遵循的过程 1)从raspberry pi github(URL:)克隆了官方工具链 设置环境变量arm-linux-gnueabihf-c++(在.bashrc文件中) 3)键入此命令以生成ARM体系结构的二进制文件加载共享库时出错:foo.so:无法打开共享对象文件:没有此类文件或目录 我有交叉编译的C++代码,用于树莓PI。< /P>,c++,gcc,arm,debian,raspberry-pi3,C++,Gcc,Arm,Debian,Raspberry Pi3,下面是我遵循的过程 1)从raspberry pi github(URL:)克隆了官方工具链 设置环境变量arm-linux-gnueabihf-c++(在.bashrc文件中) 3)键入此命令以生成ARM体系结构的二进制文件 arm-linux-gnueabihf-g++ ./test.cpp -L. -lfoo -o test 4)现在已成功生成二进制文件。我试图用下面的命令运行二进制文件,但没有成功 LD_PRELOAD=/home/pi/Downloads/linux-sdk-demo
arm-linux-gnueabihf-g++ ./test.cpp -L. -lfoo -o test
4)现在已成功生成二进制文件。我试图用下面的命令运行二进制文件,但没有成功
LD_PRELOAD=/home/pi/Downloads/linux-sdk-demo-arm/foo.so ./test
LD_LIBRARY_PATH=/home/pi/Downloads/linux-sdk-demo-arm ./test
甚至我在.bashrc文件中设置了环境变量,但运气不好
它分别给出了以下误差:
ERROR: ld.so: object './foo.so' from LD_PRELOAD cannot be preloaded (cannot open shared object file): ignored.
./test: error while loading shared libraries: foo.so: cannot open shared object file: No such file or directory
及
我确信foo.so文件位于正确的路径,但它找不到它。这是目录结构
-rw-rw-r-- 1 pi pi 15263 Jan 9 17:23 cp5200api.h
-rw-rw-r-- 1 pi pi 1110 Mar 6 12:17 dtype.h
-rwxrwxrwx 1 pi pi 152751 Mar 9 13:43 foo.so
-rw-rw-r-- 1 pi pi 512 Mar 12 08:42 Makefile
-rw-rw-r-- 1 pi pi 1285 Mar 8 20:13 notplugged
-rw-rw-r-- 1 pi pi 1285 Mar 8 20:13 plugged
-rwxr-xr-x 1 pi pi 13228 Mar 12 08:42 test
-rw-rw-r-- 1 pi pi 2204 Mar 6 15:22 test.cpp
lddfoo.so输出什么?它说“不是动态可执行文件”,所以它不是一个库。尝试
文件foo.so
。尝试完整路径,而不是/test@cslfoo.so:ELF 32位LSB共享对象,ARM,EABI5版本1(SYSV),动态链接,未剥离
-rw-rw-r-- 1 pi pi 15263 Jan 9 17:23 cp5200api.h
-rw-rw-r-- 1 pi pi 1110 Mar 6 12:17 dtype.h
-rwxrwxrwx 1 pi pi 152751 Mar 9 13:43 foo.so
-rw-rw-r-- 1 pi pi 512 Mar 12 08:42 Makefile
-rw-rw-r-- 1 pi pi 1285 Mar 8 20:13 notplugged
-rw-rw-r-- 1 pi pi 1285 Mar 8 20:13 plugged
-rwxr-xr-x 1 pi pi 13228 Mar 12 08:42 test
-rw-rw-r-- 1 pi pi 2204 Mar 6 15:22 test.cpp