-
下载的opencv2.4.11源码
-
然后按着网上教程 修改了opencv的源代码
-
sudo apt-get install libopencv-dev
-
修改/data/opencv-2.4.11/modules/gpu/src/graphcuts.cpp
将
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER)
改为
#if !defined (HAVE_CUDA) || defined (CUDA_DISABLER) || (CUDART_VERSION >= 8000) -
在usr/local下创建一个文件夹opencv2.4.11
不能直接创建,用root创建 不然没权限
如果不创建的话,自己改一下下面cmake语句中安装的位置 -
解析
opencv-2.4.11/build/lib/libopencv_highgui.so.2.4.11: undefined reference to `TIFFReadRGBAStrip@LIBTIFF_4.0
这个错误 就是 后面编译其他项目会遇到这个错误,然后重新编译opencv 在cmake时,在后面加一句 -D BUILD_TIFF=ON ,这样tiff就会在编译opencv时自动编译好cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local/opencv2.4.11 -D WITH_CUDA=ON -D BUILD_PYTHON_SUPPORT=ON -D WITH_FFMPEG=OFF -D BUILD_EXAMPLES=ON -D BUILD_TIFF=ON ..
-
编译 make -j8
-
sudo make install
-
在 sudo gedit ~/.bashrc 文件后面添加以下两行
export PKG_CONFIG_PATH=/usr/local/opencv2.4.11/lib/pkgconfig export LD_LIBRARY_PATH=/usr/local/opencv2.4.11/lib
然后保存修改 source ~/.bashrc
这样 pkg-config --modversion opencv
就是2了
因为源代码改的有点多,我自己也记不清到底改了多少了,所以我直接上传一份到百度网盘里。如果直接用的我给的,那么步骤2,4不用弄了
网址之后放上来,这边网速太慢,上传比较慢
链接: https://pan.baidu.com/s/19AaTZUMqCanJFHU2tAGetw 提取码: ph4w 复制这段内容后打开百度网盘手机App,操作更方便哦
后来发现一种比较便捷的方式:
一开始cmake 和make不指定路径,直接编译
然后sudo make install的时候,指定一下路径sudo make DESTDIR=/install/directory install
然后在指定的路径下面就会有对应的include头文件,lib库文件