返回信息流小弟最近在做函数库的移植,具体就是要把opencv(进行图像处理的软件)从x86架构下移植到ARM架构下,这个软件官方是支持ARM的。
我按照它论坛的方法,修改configure文件为
./configure --host=armv5tl-montavista-linux-gnueabi --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm_v5t_le-g++ CPPFLAGS=-I/home/zj/workdir/filesys/usr/include --prefix=/home/zj/workdir/filesys/opt/opencv-arm --libdir=/home/zj/workdir/filesys/opt/opencv-arm/lib --includedir=/home/zj/workdir/filesys/opt/opencv-arm/include
其中前面指定了我的ARM平台armv5tl-montavista-linux-gnueabi和用到的编译器
然后make 再make install
生成了静态库文件
可是我在编译具体程序的时候出现问题
opencv-arm/lib/libcxcore.a(dgetri.o): Relocations in generic ELF (EM: 3) libcxcore.a: could not read symbols: File in wrong format
找到了原因,发现在它生成的库文件lib目录中,我用readelf -h查看库文件。发现这个libcxcore.a是80386类型,但是其他一起生成的静态库文件都是ARM类型,它们都是makefile一起生成的,怎么会出现这种问题呢?希望大牛现身解答啊!
这是一条镜像帖。来源:北邮人论坛 / embedded-system / #10496同步于 2011/4/21
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Embedded_System机器人发帖
移植函数库到ARM的问题?
jzhangexe
2011/4/21镜像同步1 回复
订阅后,新回复会通过你的通知中心匿名送达。
1 条回复
1:clean重新编一遍,也许莫名其妙地就好了
2:仔细查看configure选项,看是否有必要的选项漏掉了
3:重新make>tmp 2>&1 ,然后vi tmp 看看这个库到底是怎么编出来的,也许Makefile有问题,得自己修改一下
【 在 jzhangexe (.bin.exe.com) 的大作中提到: 】
: 小弟最近在做函数库的移植,具体就是要把opencv(进行图像处理的软件)从x86架构下移植到ARM架构下,这个软件官方是支持ARM的。
: 我按照它论坛的方法,修改configure文件为
: ./configure --host=armv5tl-montavista-linux-gnueabi --without-gtk --without-carbon --without-quicktime --without-1394libs --without-ffmpeg --without-python --without-swig --enable-static --disable-shared --disable-apps CXX=arm_v5t_le-g++ CPPFLAGS=-
: ...................