导航:首页 > 源码编译 > cmake编译opencv

cmake编译opencv

发布时间:2022-01-16 18:53:07

❶ 如何用cmake 编译OpenCV 3.1.0的opencv

用cmake 编译OpenCV 3.1.0的opencv:

建一个新的文件夹,完整路径:D:CMakeCMake-StudyHelloCMake,

然后在HelloCMake文件夹里建立一个HelloCMake.cpp文件,里面的代码如下:

#include <iostream>

int main()

{

std::cout<<"Study CMake Together - Hello CMake!"<<std::endl;

return 0;

}

然后在HelloCMake文件夹里建立一个CMakeLists.txt文件,注意文件名不能是别的,必须叫这个名字。里面的内容如下:

cmake_minimum_required(VERSION 2.6)

project(HelloCmake)

add_executable(HelloCMake hellocmake.cpp)

接着在HelloCMake的同级目录里建立一个新的文件夹,就叫做HelloCMake-bin,在我机子上的完整路径是:D:CMakeCMake-StudyHelloCMake-bin,你可以针对自己的目录路径对号入座。

然后打开CMake程序,接着把包含CMakeLists.txt和HelloCMake.cpp文件的完整路径给”where is the source code”,把最后建立的HelloCMake-bin目录的完整路径给”where to build the binaries”,然后按Cofigure,

Configure完了以后,再按Generate,直到所有的红色选项都变成灰色为止。然后打开HelloCMake-bin,你会发现原来空的文件夹里面自动生成了好多文件。

到此为止,工程构建完成,打开HelloCMake-bin目录下的HelloCMake.sln,里面有三个工程,分别是:ALL_BUILD;HelloCMake;ZERO_CHECK。这三个工程的大概作用如下(个人理解而已),HelloCMake就不用说了,自己要建立的那个工程;ALL_BUILD是管理整个项目的工程;ZERO_CHECK是实时监视CMakeLists.txt文件变化的工程,一旦CMakeLists.txt里的内容发生了任何变化,ZERO_CHECK就会告诉编译器要重新构建整个工程环境。所以,你可以先把工程关掉,打开CMakeLists.txt文件,更改里面的内容以后,把根据以上说的步骤走一遍CMake;你也可以在编译器环境(如VS2008)中更改CMakeLists.txt文件,然后直接F7编译工程。如果你选择后者,你会发现所示的现象发生。

因为你改变了CMakeLists.txt的内容,工程的环境要重新构建、设置。所以你必须加载新的工程环境设置。点Yes,然后点Reload。重新加载设置过的工程环境。

另外一个经常看某些童鞋问的,就是当弹出所示的界面时要怎么办?能怎么办?界面上提示已经灰常清楚了,指定exe的路径给它,然后点OK就可以了;出现这种情况的原因是你把没有生成exe可执行文件的工程设为启动工程了,你会发现ALL_BUILD这个工程名字是黑体显示的,表示它是启动工程;或者你把生成exe可执行文件的工程,如这里的HelloCMake右击->设置为启动工程,也不会出现所示的界面。

好,这些比较琐碎的东西介绍完,我们一起来看看CMakeLists.txt里面的代码表示什么意思,争取每句代码都作解释,如果有不对的地方,一定要告诉我!

把CMakeLists.txt里的内容再罗列出来:

  1. cmake_minimum_required(VERSION 2.6)

2. project(HelloCmake)

3. add_executable(HelloCMake hellocmake.cpp)

第1行,cmake_minimum_required(VERSION 2.6)这是对CMake版本的要求,基本上每个CMakeLists.txt文件里都会有这句代码,cmake_minimum_required是cmake里的命令,可大写小写。VERSION这个关键字必须是大写,而且不能省略;2.6就是CMake的版本号,现在的版本是2.8.3。

第2行,project(HelloCmake),project也是CMake的命令,里面的参数HelloCMake是你要生成的工程的名字,换句话说就是生成的***.sln或者***.dsw等工程项目文件的名字。

第3行,add_executable(HelloCMake hellocmake.cpp),add_executable同样是CMake的命令,链接有关的源文件,然后生成exe可执行文件,这是这个命令的作用。第一个参数是生成的exe文件的文件名,一般与project里的工程名一致,这样编译生成的文件就分别是HelloCMake.sln和HelloCMake.exe,当然也可以不一样。Add_executable()后面的是一个参数列表,可带多个要编译的文件名,中间以空格或回车等隔开,如可以加入:

add_executable(HelloCMake hellocmake.cpp hellocmake.h)

这样就把CMake里最常用的三个命令介绍完了,分别是cmake_minimum_required; project; add_executable等

❷ cmake怎么配置opencv

首先,我想说的是CMake的作用,每个编译器在调用头文件的时候都需要编译器配置好读取头文件(*.h)对应的(*.c||*.cpp)的路径,就像调用math.h你得告诉编译器对应的math.c要去什么地方寻找,但是新下载的OpenCV编译器是不知道相应的头文件还有lib文件要去哪里找的,所以程序猿们可以有以下两种方案:
1. 每次创建一个工程,找到调用文件的配置选项,然后手动添加,告诉编译器cv.h在哪,各种库文件(*.lib)文件在哪,当然既然涉及到系统的问题,少不了要去环境变量配置一下系统设置,不过配置环境变量仅仅用一次就可以了。
2. 为了省去每次创建工程都需要手动配置路径的麻烦,用CMake可以将Opencv的相关文件在哪里“永久地”告诉编译器,当然代价就是……失败几率很大(反正我总是配不好,一步出问题就会很蛋疼)

❸ 怎么用cmake编译opencv源代码中的例程

你机子的某个盘里建一个新的文件夹,如我这里的完整路径是:D:\CMake\CMake-Study\HelloCMake; 然后在HelloCMake文件夹里建立一个HelloCMake.cpp文件,里面的代码如下: #include int main() { std::cout

linux下opencv-2.4.13要用哪个版本的cmake来进行编译

1.下载然后解压安装压缩

unzip opencv-2.4.13.zip

2. 进入刚解压的文件夹,建立release文件夹

cd opencv-2.4.13mkdir release

3. 安装一下必须的依赖库

sudo apt-get install build-essential cmake libgtk2.0-dev pkg-config python-dev python-numpy libavcodec-dev libavformat-dev libswscale-dev

4. 进入release文件夹,用cmake编译OpenCV的源码,把lib安装到/usr/local目录下

cd release
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local ..

5. 安装

sudo make install

❺ cmake编译opencv总是出错 求助啊

是你的编译器版本不对, You probably need to select a different build tool.
在点击configure时,会出来一个选择编译器的框,你选一个你机器里有的编译器就可以了。

❻ 为什么要使用CMake+VS编译OpenCV的源码

使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。
官方提供的编译库一般只是标准版本,可能与某些库并不兼容,比如官方提供的编译好的版本与opengl就不兼容,这时就只能自己构建项目后编译。
在用cmake生成工程文件的时候,设置当中有WITH_OPENGL,WITH_QT等选项,你想支持哪个库只需要选择即可。
当然,一般使用的话,用官方提供的库即可。OpenCV2.3.1版本就提供编译好的库,可以直接设置使用

❼ Opencv 编译好的和用Cmake生成的有什么不同呢 Cmake是什么用的 通俗些最好了,谢谢!

Cmake是一个make工具,它可以根据makefile文件来调用你和编译器进行多个文件的编译和链接。用Cmake生成的就是使用你本地的编译器来编译生成那些文件。

❽ cmake编译opencv程序的时候怎么静态编译

使用opencv需要编译源码,得到库文件。可以用cmake构建项目后编译,也可以直接用官方提供的编译好的版本。 官方提供的编译库一般只是标准版本,没有附加某些库,比如tbb等,要想让opencv使用tbb等库,就只能自己构建项目后编译。

❾ cmake编译不了opencv,求解决,截图如下。

哥们儿,

  1. 输入cd .. # 这条command切换到opencv-2.4.13文件目录下

2.mkdirbuild

3.cdbuild

然后继续你最后一条命令。

阅读全文

与cmake编译opencv相关的资料

热点内容
白色广联达加密锁网络锁 浏览:607
pascal语言采用编译 浏览:784
天天狼人杀app叫什么 浏览:339
湖南根服务器云服务器 浏览:653
2003word压缩图片 浏览:390
解压小玩具小桃子 浏览:486
查看linux内核参数 浏览:776
幼儿初学史丰收速算法指法视频 浏览:428
pythonacquire参数 浏览:825
汤普森钢琴教程2pdf 浏览:490
程序员小陈别墅 浏览:614
固态编译器损坏 浏览:3
android控件显示和隐藏 浏览:186
国产编译dspic的软件 浏览:295
隐尤app是什么 浏览:494
钉钉作业怎么传到文件夹 浏览:186
pg库二进制和源码的区别 浏览:328
群星服务器怎么看 浏览:144
玛雅服务器名称是什么 浏览:819
源码乐园官网 浏览:892