你这广告也太明显了 。要么就发过来看,我帮你。
1.确保ubuntu能上网
2.安装cmake
代码: 全选
sudo apt-get install cmake-gui
3.下载opencv2.4.9 Linux版源码,不要用最新的3.0.0
http://opencv.org/downloads.html
4.解压opencv源码
代码: 全选
unzip opencv-2.4.9.zip
5.创建一个build目录用于编译和一个output目录用于存放编译完成后的海思平台的opencv:
代码: 全选
need@need-dev:~/zhouhua/opencv/opencv-2.4.9$ ls
3rdparty LICENSE apps data include modules samples
CMakeLists.txt README.md cmake doc index.rst platforms
need@need-dev:~/zhouhua/opencv/opencv-2.4.9$ cd ..
need@need-dev:~/zhouhua/opencv$ ls
build opencv-2.4.9 opencv-2.4.9.zip output
need@need-dev:~/zhouhua/opencv$ mkdir build
need@need-dev:~/zhouhua/opencv$ mkdir output
6.执行cmake-gui
代码: 全选
need@need-dev:~/zhouhua/opencv/opencv-2.4.9$ cmake-gui
点击Browse Source选择~/zhouhua/opencv/opencv-2.4.9
点击Browse Build选择~/zhouhua/opencv/build
然后点击Configure
此时出现的对话框选择最后一项:Specify options for cross-compiling
下一步
Operating System填写 arm-hisiv100nptl-linux
C填写arm-hisiv100nptl-linux-gcc
C++填写arm-hisiv100nptl-linux-g++
下一步,然后等待Configuration done
然后在出现的列表中修改CMAKE_INSTALL_PREFIX为~/zhouhua/opencv/output
然后点击Generate
等待Generation done
即可关闭cmake软件。
7.进入build目录执行make
代码: 全选
need@need-dev:~/zhouhua/opencv/build$ make
提示出错:
代码: 全选
../../lib/libopencv_core.so: undefined reference to `pthread_once'
../../lib/libopencv_core.so: undefined reference to `pthread_spin_lock'
../../lib/libopencv_core.so: undefined reference to `pthread_spin_unlock'
../../lib/libopencv_core.so: undefined reference to `pthread_spin_init'
../../lib/libopencv_core.so: undefined reference to `pthread_spin_trylock'
../../lib/libopencv_core.so: undefined reference to `pthread_spin_destroy'
修改CMakeCache.txt大约200行处
//Flags used by the linker.
CMAKE_EXE_LINKER_FLAGS:STRING= -lpthread -lrt
继续make
可能出现如下错误
代码: 全选
CMake Error at /home/need/zhouhua/opencv/opencv-2.4.9/cmake/cl2cpp.cmake:50 (string):
string does not recognize sub-command MD5
make[2]: *** [modules/ocl/opencl_kernels.cpp] Error 1
make[1]: *** [modules/ocl/CMakeFiles/opencv_ocl.dir/all] Error 2
make: *** [all] Error 2
删除/home/need/zhouhua/opencv/opencv-2.4.9/cmake/cl2cpp.cmake的第50行的内容即可。
继续make