哪个版本的cmcake能够编译opencv3.2.0
推荐回答
【OpenCV】在Linux下用CMAKE编译安装OpenCV3.2.0【安装相关软件和库】1.安装CMAKE:这里使用apt-get来安装; CMAKE 是一个跨平台编译工具,能够输出各种makefile,和project 文件,指导编译器编译,对CMAKE具体的可以自行搜索,这里推荐一个链接:https://www.cnblogs.com/lyq105/archive/2010/12/03/1895067.html在联网下,在终端输入:sudo apt-get install cmake【编译、安装OPENCV】1.从OPENCV官网下载OpenCV-3.2.0.zip2.建议把OpenCV-3.2.0.zip 移动到主目录下;mv [OpenCV-3.2.0.zip存放路径/opencv3.2.0.zip] ~/opencv_3.2.0.zip3.配置CMAKE相关信息,默认安装目录,编译类型(DEBUG/RELEASE),对相关语言、环境的支持(如QT,Python),在终端输入:cd ~unzip opencv_3.2.0.zipcd opencv-3.2.0cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D WITH_TBB=ON -D BUILD_NEW_PYTHON_SUPPORT=ON -D WITH_V4L=ON -D WITH_QT=ON -D WITH_OPENGL=ON ..-D WITH_QT=ON 这个选项表示支持QT,-D CMAKE_INSTALL_PREFIX=/usr/local 表示安装目录。网上许多教程,都是建议在OpenCV下新建议个编译结果的目录,但是我尝试了很多种方法,最后直接在解压后的OpenCV 目录下 cmake 才成功了。3.编译在终端输入:make -j($nproc) -j表示用几个线程来编译,这样可以加快编译速度,不过这个与makefile的质量有关,有的工程用了-j会编译出错4.安装在终端输入:sudo make install5.配置环境变量a.添加库路径:sudo /bin/bash -c 'echo "/usr/local/lib" > /etc/ld.so.conf.d/opencv.conf'这里使用了标准输出重定向,/usr/local OpenCV安装目录,在lib下有我们的.so库 ,把这“/usr/local/lib” “打印”--echo到/etc/ld.so.conf.d/opencv.conf'b.更新库路径:sudo ldconfig【新建OpenCV的HelloWorld】一、利用Make 和pkgconfig ,g++ 编译1. pkgconfig 只是提供g++一些-I -L 选项在终端输入:pkg-config --cflags --libs opencv看到输出一些-I -L选项如下,即pkg-config 安装正确,OpenCV 安装正确。如未安装,请先安装;如果发现不正确,可以修改/usr/local/lib/pkgconfig/opencv.pc文件,这个文件就是opencv的目录配置。-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core解决方案:利用export 命令设置环境变量:[Qt安装目录下/version number /gcc_64/lib]在终端输入:export LD_LIBRARY_PATH=/home/yyh/Qt5.7.1/5.7/gcc_64/lib/执行 ./opencv_test 出现下面的error,但是直接双击可以执行This application failed to start because it could not find or load the Qt platform plugin "xcb"in "".Available platform plugins are: minimal, offscreen, xcb.Reinstalling the application may fix this problem.Aborted (core dumped)解决方案:关闭终端重新执行4.opencv_test.cpp#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include <opencv2/imgproc/imgproc.hpp>#include <iostream>using namespace std;using namespace cv;#define PICTURE "./01.jpg"int main(void){IplImage* img = cvLoadImage(PICTURE, 0);cvNamedWindow( "test", 0 );cvShowImage("test", img);cvWaitKey(0);cvReleaseImage( &img );cvDestroyWindow( "test" );return 0;}5.Makefile(赋值的时候注意TAB键)CXX = g++CFLAGS = -Wall LDFLAGS = `pkg-config --cflags --libs opencv`SRCS = $(wildcard *.cpp)TARGETS = $(patsubst %.cpp, %,$(SRCS))all:$(TARGETS)$(TARGETS):$(SRCS)$(CXX) -o $@ $< $(LDFLAGS) $(CFLAGS)clean:-rm -rf $(TARGETS) *~ .*swp.PHONY: clean all