1 关于openssl遇到的问题
1.1 arm-linux-gnueabihf-gcc: error: unrecognized command line option ‘-m64’
解决方法:在顶层的Makefile中,找到有 '-m64’的地方(两处),将其删除。
1.2 arm-linux-gnueabihf-gcc: not found
解决方法:在Mkkefile中,将编译器arm-linux-gnueabihf-gcc的路径写成绝对路径的形式。
2 关于curl遇到的问题
烧写到开发板以后,报错:
error while loading shared libraries: /lib/libcurl.so.4: internal error。
解决方法:
这个问题,大多是由于不同编译器编译的导致(指的是这个项目不同的库使用的库不一样,或者相差太多)
更换相同的编译器,重新编译即可。
3 关于openssl遇到的问题
3.1
error while loading shared libraries: libssl.so.1.0.0: cannot open shared object file: No such file or directory
解决方法:
查看跟文件系统下面的lib目录下,是否有libssl.so.1.0.0这个库。如果没有,从编译好的openssl目录下的lib下拷贝一份即可。
3.2 file too short
解决方法:出现这个错误,一般时软连接的设置除了问题。但是我的这个库文件不是软连接。使用命令,查看文件详细信息:
ls -l
查看发现,虽然有这个文件,但是文件大小为0。重新拷贝,问题解决。
4 关于OpenCv遇到的问题
4.1 在使用cmake编译的时候,输入命令“cmake-gui”,报错:This application failed to start because it could not find or load the Ot platform plugin “xcb”.(前几天还可以使用)
解决方法:sudo apt upgrade (系统应定期更新,否则就会出现类似问题)
4.2 make的时候,报错:“fatal error: gnu/stubs-32.h: No such file or directory”
解决方法:ubuntu 64位主机上编译32位应用.编译出现以下错误
意味着你的pc缺失了32位的libc库,那么安装.
输入命令:
sudo apt-get install libc6-dev-i386
4.3
[ 58%] Linking CXX executable ../../bin/opencv_annotation
arm-linux-gnueabihf-g++: error: –lrt: 没有那个文件或目录
arm-linux-gnueabihf-g++: error: ldl: 没有那个文件或目录
解决方法:配置cmake时:
CMAKE_EXE_LINKER_FLAGS 处添加上-lpthread -lrt -ldl
5 网络问题:
ping www.baidu.com -I eth0
ping: bad address 'www.baidu.com'
开发板可以ping同主机,ping不同baidu。
解决方法:
编辑 /etc/resolv.conf 这个文件,将 nameserver 127.0.0.1 改为 8.8.8.8 或者 114.114.114.114(DNS 域名服务器地址,由这个地址去解释百度地址)
6 应用程序的问题
6.1 usb免驱摄像头插入,的dev目录下面,找不到对应的设备
解决方法:
在/dev下面,只能找到video0,开发板并没有识别出,有新连接进来的摄像头。
这是因为,在内核中,没有配置支持UVC标准的USB驱动(v4l2默认已经编译好了),重新配置即可。
6.2在开发板上运行qmake交叉编译好的可执行文件时,报错:
VIDEOIO ERROR: V4L: index 4 is not correct!
Segmentation fault
解决方法:
Linux下使用opencv库调用摄像头cvCreateCameraCapture(2);时出现该错误,原因是在/dev下video2变成了video1或者其他,需要修改成cvCreateCameraCapture(1)或者其他数字
通过插拔,确定摄像头所对应的设备文件是/dev/video1;
所以,将:
camera = cvCreateCameraCapture(2);这行代码改成这样:
camera = cvCreateCameraCapture(1);
7 关于qt遇到的问题
编译QT源码时,报错:make Unknown module(s) in QT: quick
解决方法:
出现这个的原因是linux系统缺少相关库
解决方案:
sudo apt-get install qtdeclarative5-dev
如果仍然无法解决,可在配置文件中,加入-skip qtdeclarative,即可解决!(因为quick模块其实是可以不需要的)