微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > OpenCV在ARM上的移植 错误总结

OpenCV在ARM上的移植 错误总结

时间:11-11 来源:互联网 点击:
下面列举自己遇到问题及解决办法

1. zlib libpngjpeg 安装成功后还是出错,显示缺失zlib libpngjpeg
此时可能没有勾选with_zlib with_libpng with_jpeg。勾选后再configure 就不会出错了

2. “CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt” 不好使的话

可以试试:CMAKE_EXE_LINKER_FLAGS原来为空,加上-lpthread -lrt -ldl

3. 生成文件(bin include lib share)结束后,把原来Ubuntu 下用cmake编译opencv生成的文件覆盖(合并?)

所以执行原来可以正常运行的命令 :g++ ADA_LKDEMO.cpp -oADA_LKDEMO`pkg-config --cflags --libs opencv` -ldl

会出现如下错误:

/usr/local/lib/libopencv_calib3d.so: error adding symbols: 文件格式错误
collect2: error: ld returned 1 exit status

原因是libopencv_calib3d.so不再是Linux下配置的opencv文件 而是arm环境下的了(原来的Linux文件被覆盖了)

执行:arm-linux-g++ ADA_LKDEMO.cpp -oADA_LKDEMO`pkg-config --cflags --libs opencv` -ldl

就可以编译成功了!

使用arm-linux-g++新问题又出现:

ADA_LKDEMO.cpp:30:19: error: X11/X.h: No such file or directory
ADA_LKDEMO.cpp:31:22: error: X11/Xlib.h: No such file or directory
ADA_LKDEMO.cpp:32:23: error: X11/Xutil.h: No such file or directory

可能是X11/X.h X11/Xlib.h X11/Xutil.h 不能运行在arm平台上?(即只有在g++命令下才不出错) 那么怎么移植到arm下呢?(即可以让arm-linux-g++编译通过???)

4. 错误:

bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/home/zbl/cmake/cmake-3.0.0/bin: 没有那个文件或目录

bash: /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/opt/FriendlyARM/toolschain/4.4.3/bin: 没有那个文件或目录

将路径配置 指令写错了。(用vi ~/.bashrc配置)

错误: PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin
正确: export PATH=$PATH:/opt/FriendlyARM/toolschain/4.4.3/bin

5.登录管理员账户时,输入密码后,一直在登录界面循环

ctrl+alt+f1 ,切换到tty1,输入管理员帐号和密码

sudo rm -r .Xauthority*

sudo reboot //重启

ok

参考:http://blog.csdn.net/wjeson/article/details/9029995

6.undefined reference to symbol XFlush

/usr/lib/i386-linux-gnu/libX11.so.6: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make: *** [freepen_drv] 错误 1

参考http://blog.csdn.net/sukhoi27smk/article/details/18982261

7.pkg-config的用法

参考http://blog.csdn.net/embeddedman/article/details/7294006

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top