logo资料库

opencv移植到arm教程.docx

第1页 / 共7页
第2页 / 共7页
第3页 / 共7页
第4页 / 共7页
第5页 / 共7页
第6页 / 共7页
第7页 / 共7页
资料共7页,全文预览结束
opencv 2.4.12 移植到 arm 详细教程 opencv2.4.12 ubuntu12.04 GCC 4.3.2 1.首先下载编译器,解压,设置环境变量,完成后,在终端 输入 arm 后按 Tab 键,若出现 arm 的相关的内容,则表示配 置正确; 参考:http://blog.csdn.net/luotuo44/article/details/8958990 2.下载 cmake, sudo apt-get install cmake-gui 3.完成以上两步后,现在来进行编译。网上的教程说的很详 细了,这里只提几点问题: onion31s@ubuntu:~/ cmake-gui 在 cmake 界面中进行配置 第一步: // 启动 cmake
第二步: 第三步:
第四步: 第五步:
4.按照上述配置完成后,进入下图划红线的目录(进入自己 配置的目录) cd /home/onion31s/A31s_Source_lib/opencv_build onion31s@ubuntu:~/ onion31s@ubuntu:~/ make 鉴于网上的参考教程,大多数人这里会报错,这里将错误总结如下: (1)报错: Linking CXX executable ../../bin/opencv_test_calib3d ../../lib/libopencv_core.so: `pthread_key_create' ../../lib/libopencv_core.so: `pthread_getspecific' .................... undefined undefined reference reference to to
collect2: ld returned 1 exit status make[2]: *** [bin/opencv_test_calib3d] Error 1 make[1]: [modules/calib3d/CMakeFiles/opencv_test_calib3d.dir/all] Error 2 make: *** [all] Error 2 *** 或者 报错:undefined reference undefined reference to “dlopen” to “dlysm” 解决方案:修改 目录下的 CMakeCache.txt,CMAKE_EXE_LINKER_FLAGS 原来为 空,保险起见,加上-lpthread -lrt -ldl,如下图: compiler error:in (2)报错:......xxx.cpp internal vect_transform_stmt ,at tree-vect-stmts.c..... 解决方案:这是编译器的 Bug 建议换个低版本的编译器重新 操作; (3)报错:“......could not read symbols:bad value”
解决方案:进入 cd /home/onion31s/A31s_Source_lib/opencv_build/3rdparty/zlib/CMakeFiles/Zlib.dir/f lags.make 将 C_FLAGS= -w -Wall 替换成 C_FLAGS=-03 -fPIC -w -Wall 5.报错按照上述方法解决,再 make 后,执行 sudo make install ,此时编译好的库就按照在你指定的目录下了. 6.进入上述的安装库,若没有取消 BUILD_SHARED_LI 选项, 则生产的是.so 后缀的库文件,将这些库文件拷贝到板子的 /lib 目录下。 7.在 Ubuntu 上编译的时候,编译指令如下: 其中的路径对应到你安装库文件的路径。 8.如果你是静态编译,将上述命令中的.so 库文件替换成.a 库
文件,再在指令最后添加 -static,这样你无须拷贝任何库 文件到板子上,直接编译后拷贝编译后的文件在板子上直接 即可运行。 现在你的板子上可以跑 opencv 写的程序了。
分享到:
收藏