包含opencvcmake的词条
本篇文章给大家谈谈opencvcmake,以及对应的知识点,希望对各位有所帮助,不要忘了收藏本站喔。
本文目录一览:
- 1、如何编译opencv中的install工程
- 2、opencv使用Cmake编译时错误CMP0015
- 3、windows10下安装opencv,cmake 时报错
- 4、为什么要使用cmake+VS重新编译的opencv库
- 5、安装opencv必须要安装Cmake吗?Cmake是干什么的
- 6、opencv静态链接库cmake链接顺序问题
如何编译opencv中的install工程
第一步:由于opencv是在cmake工具下建立的工程,所以我们先要下载cmake,下载地址随便一搜都有,不多说。下载到home的主目录下,这里我们是/home/lg。看下面的命令:#cd /home/lg#tar xzvf CMake2.4.7.tar.gz .#cd CMake2.4.7#./boostrap#gmake#make install这样cmake工具安装好了,并且可以直接使用cmake命令根据cmake的编译规律,我们选择外部编译。
2
下载Opencv2.3.0到/home/lg解压后进入Opencv2.3.0的目录下(这里的opencv与以前版本1.0的不一样,没有configure文件,所以我们仔橘执行不了 ./configure命令) :#mkdir build#cd build#cmake -D CMAKE_BUILD_TYPE=RELEASE -DCMAKE_INSTALL_PREFIX=/usr/local -D BUILD_PYTHON_SUPPORT=ON.. (这条命令解析可以参考cmake教程, 但是记住这里的第二个选项,我们将opencv安装在/usr/local目录下的)#make#make install到这opencv编译完成,接下去看看opencv这个工具能正常使用。
3
记住这里的做法前一种对fedora有用, 也就是说在fedora的环境下只能使用这种做法, 但是ubuntu却可以使用两种租卖方法。 顺便说一下, 经常遇见apt-get命令,这是在ubuntu下使用获取软件包的命令, fedora使用的是yum, 记住了, 否则经常出现使用apt-get却获取不了软件包的情况。方法1:在/etc/ld.so.conf.d下新建一个文件opencv.conf,里面输入/usr/local/lib方法2:在/etc/ld.so.conf文件中加入/usr/local/lib这一行然后执行#ldconfig(root权限下)#cp /usr/local/lib/pkconfig/opencv.pc /usr/lib/pkgconfig(或者是输入这个命令 exportPKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH)( pkconfig的用法见以前的博文)至此opencv安装完成我们可以找个例子来做实验#cd /home/lg/Opencv2.3.0#cd samples/cpp#g++ `pkconfig --cflags --libs opencv` drawing.cpp -odrawing(记住前面的两个引号是通过ESC下面的念型团那个波浪符键获得的)现在我们编译那个人脸检测程序,在Opencv2.3.0/data/目录下有检测鼻子、眼睛的XML文件,这可以通过改build目录下的c目录下的facedetect文件获得。#cd ..#cd c#g++ `pkconfig --cflags --libs opencv` facedetect.c -ofacedetect到此结束
opencv使用Cmake编译时错误CMP0015
我也遇到这个问题慎谨做,查了一下
不能宽衡使用相对路径,需要使晌销用{CMAKE_CURRENT_SOURCE_DIR}
解释见:
link_directories() treats paths relative to the source dir.
In CMake 2.8.0 and lower the link_directories() command passed relative paths unchanged to the linker. In CMake 2.8.1 and above the link_directories() command prefers to interpret relative paths with respect to CMAKE_CURRENT_SOURCE_DIR, which is consistent with include_directories() and other commands. The OLD behavior for this policy is to use relative paths verbatim in the linker command. The NEW behavior for this policy is to convert relative paths to absolute paths by appending the relative path to CMAKE_CURRENT_SOURCE_DIR.
This policy was introduced in CMake version 2.8.1. CMake version 3.0.2 warns when the policy is not set and uses OLD behavior. Use the cmake_policy command to set it to OLD or NEW explicitly.
windows10下安装opencv,cmake 时报错
编译文清链御凯件:#cd DisplayImage_directory
#cmake .
#make
执行结果:#./答拆孙DisplayImage lena.jpg
[img]为什么要使用cmake+VS重新编译的opencv库
使用opencv需要编译源码,得到库文件。可以用cmake构亮销建项目后编译,也可以直接用官方提供的编译好的版本。
官方提供的编译库一般只是标准版本,可能与某些库并不兼容,比如官方提供的编译好的版本与opengl就不兼容,这时就只能自己构建项目后编译。
在用cmake生成工程文件的时候,设置当中有WITH_OPENGL,WITH_QT等选项,你想支持哪个库只需要选择即可。
当然,一般使用的话,用官方提供的库即可。OpenCV2.3.1版本樱型就提脊键猜供编译好的库,可以直接设置使用
安装opencv必须要安装Cmake吗?Cmake是干什么的
首先,我想说的是cmake的作用,每个编译器在调用头文件并裤唤的时候都需要编译器配置好读取头文件(*.h)对应的(*.c||*.cpp)的路径,就像调用math.h你得告诉编译器对应的math.c要去什么地方寻找,但是新下载的opencv编译器是不知道相应的头文件还有lib文件要去哪里找的,所以程序猿们可以有以下两种方案:绝凯
1.
每次创建一个工程,找到调用文件的配置选项,然后手动添加,告诉编译器cv.h在哪,各种库文件(*.lib)文件在哪,当然既然涉及到系统的问题,少不了要去环境变量配置一下系统设置,不过配置环境变量仅仅用一次就可以了。
2.
为了省去每次创建工程都需要手动配置路径的麻烦,用cmake可以将opencv的相关文件在哪里“永久地”告诉编译器,当然代价就是……失败几率很大(反正我总是配不好,一步出纯乎问题就会很蛋疼)
opencv静态链接库cmake链接顺序问题
使用cmake链接opencv静态库时出现了一些莫培信宽名其妙的报错:
这些函数链接的opencv库里都有,但是却找不到。
原因可以参考
解决办法就是修改坦仔链接库顺序,如果库A依赖库B, 链接的顺序就应该写为A B, 如果相互依赖就应该为A B A或者B A B的顺序。
以上的报错是因为opencv_ximgproc中的fast_line_detector中的函数依赖于opencv_core,所以opencv_ximgproc在cmake中的顺序必须写在opencv_core前面。
所以配亮cmake中的写法应该是:
关于opencvcmake和的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。