在进行交叉编译时遇到
/home/gec/jpg/lib/libjpeg.so: file not recognized: File format not recognized
collect2: error: ld returned 1 exit status
Makefile:175: recipe for target ‘v4l2’ failed
解决方法:
去到lib中 file -b file -b libjpeg.so.9.3.0
ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, BuildID[sha1]=50b03e3f2f373f5f85ab34ca76c9b8ed2730dd0c, with debug_info, not stripped
发现这是x86的 这应该是是配置时出错了
正确的交叉编译配置:
解压jpeg库
tar xzvf jpegsrc.v9c.tar.gz
cd jpeg-9c/
//指定交叉编译工具、和安装路径
./configure --host=arm-none-linux-gnueabi --prefix=/home/gec/jpeg
使用:make 然后 make install
出现一下信息代表成功:
/usr/bin/install -c -m 644 cjpeg.1 djpeg.1 jpegtran.1 rdjpgcom.1 wrjpgcom.1 ‘/home/gec/jpeg/share/man/man1’
/bin/mkdir -p ‘/home/gec/jpeg/lib/pkgconfig’
/usr/bin/install -c -m 644 libjpeg.pc ‘/home/gec/jpeg/lib/pkgconfig’
make[1]: Leaving directory