加载共享库时出错:foo.so:无法打开共享对象文件:没有此类文件或目录 我有交叉编译的C++代码,用于树莓PI。< /P>

加载共享库时出错: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

下面是我遵循的过程

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/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