1.Ubuntu换源
可换源有很多,不过要下载12.04版的,好像不多。
1.1先备份源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.backup
1.2由于12.04不受支持了,12.04相关的这些包的资源被移到了old-releases.ubuntu.com域名下:
sudo gedit /etc/apt/sources.list
将下面内容插入进去,并保存
deb http://old-releases.ubuntu.com/ubuntu precise main universe restricted multiverse
deb http://old-releases.ubuntu.com/ubuntu precise-security universe main multiverse restricted
deb http://old-releases.ubuntu.com/ubuntu precise-updates universe main multiverse restricted
deb http://old-releases.ubuntu.com/ubuntu precise-proposed universe main multiverse restricted
1.3更新一下
sudo apt-get update
2.安装cmake-qt-gui
2.1 命令行安装
sudo apt-get install cmake-qt-gui
2.2运行 cmake-gui(任意界面输入即可)
3.下载opencv-2.4.11
opencv-2.4.11
拷贝到目标文件夹下,然后命令行进入该目录
3.1解压
tar -zxvf opencv-2.4.11.tar.gz
4 cmake-gui 配置
4.1 在opencv-2.4.11中创建build install
mkdir arm_build
mkdir arm_install
cd arm_build
4.2在cmake-gui中配置
配置代码源和build目录
点击configure
任意命名opearting system 配置g++和gcc
点击finishi后软件会配置一段时间,右下角会有进度条
配置完成后在search栏中输入flags,并在勾选advanced,然后按下图进行配置。即将CMAKE_CXX_FLAGS和CMAKE_C_FLAGS的值设为-O3 -fPIC -W -Wall,将CAMKE_EXE_LINKER_FLAGS的值设为-lpthread -lrt -ldl。其实就是配置了编译、链接选项,需要进一步了解其含义可以百度gcc g++ 后的-参数的含义
然后在search框搜索zlib,在BUILD_ZLIB后打勾
修改CMAKE_INSTALL_PREFIX,默认usr/local,修改成opencv-2.4.11/arm_install目录
勾选BUILD_opencv_world库
在CMAKE_BUILD_TYPE后填上:RELEASE
再次点击configure,等提示done后,点击Generate
5.命令行cmake
5.1在opencv-2.4.11/arm_build目录下执行
sudo make -j4
5.2 安装opencv
继续在opencv-2.4.11/arm_build目录下输入
sudo make install
这样就能在open-2.4.11/arm_install中看到lib\include等目录了,直接拷贝到项目,引用即可。
避坑1:
在sudo make -j4的过程中,opencv_world总是报错项目未找到.o。我找到目录,明明是.obj啊,
原来在opencv_world的cmakelists.txt文件中,有一段set(objpath0 "CMakeFiles/<MODULE_NAME>.dir/<RELATIVE_SRC_NAME>.o"),既然我这生成的是.obj,就改成.obj吧
避坑2:
在sudo make -j4过程中,oencv_world项目,总是报 ////opencl-kernel.cpp.obj未找到,于是在arm_build/modules/world中修改文件world_objects.list和world_objects.rsp,把里面/__/路径的,全部改成正确的路径。
可能上面的坑,可以通过配置文件CMakeLists来解决,一想到又要学习语法,先这么硬干吧。
大功告成!!!
引用:
https://blog.csdn.net/qq_50839755/article/details/123998946
https://blog.csdn.net/Flag_ing/article/details/109508374
https://blog.csdn.net/spiremoon/article/details/105923235