linux编译opencv源码(linux编译openssl)

今天给各位分享linux编译opencv源码的知识,其中也会对linux编译openssl进行解释,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

有哪位知道linux下怎么编译安装opencv的

到官网上下载opencv的linux版本安装包,llinux版本的opencv没有直接的解压安装包,需要配合cmake工具对下载下来的源代码进行编译安装。cmake安装opencv也相对简单,基本就两步,cmake config配置相关选项,然后执行cmake install进行编译安装。

linux里opencv怎么交叉编译

一、交叉编译opencv 构造:下载:各个库的下载可以直接搜名字到官网下载 几个关键解释: “--prefix=” 后边跟make install时的位置,本例中,libz在make install时将安装到/usr/arm-linux-gnueabihf中 “--host=” 后边跟arm-linux表明使用的是ARM环境 有configure的才能进行configure配置 4)所有的makefile修改类似 Libz的交叉编译 第一步:# ./configure --prefix=/usr/arm-linux-gnueabihf --shared 第二步:修改makefile,主要有下边几个,修改的时候通篇参照即可 CC=arm-linux-gnueabihf-gcc AR=arm-linux-gnueabihf-ar rc RANLIB=arm-linux-gnueabihf-ranlib STRIP = arm-linux-gnueabihf-strip 如果有ARCH的话,ARCH=ARM 第三步:#sudo make#sudo make install Libjpeg的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:参考1)中方法修改makefile 第三步:#sudo make#sudo make install Libpng的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static CC=arm-linux-gnueabihf-gcc 第二步:参考1)中方法修改makefile 第三步:#sudo make#sudo make install Yasm的交叉编译 第一步:#./configure --host=arm-linux --prefix=/usr/arm-linux-gnueabihf --enable-shared --enable-static 第二步:修改makefile 第三步:#sudo make#sudo make install Libx264的交叉编译 第一步:#CC=arm-linux-gnueabihf-gcc ./configure --enable-shared --host=arm-linux --disable-asm --prefix=/usr/arm-linux-gnueabihf 第二步:修改config.mak里的参数,因为makefile要调用config.mak,所以修改方法同makefile 第三步:#sudo make#sudo make install Libxvid的交叉编译 第一步:首先切换目录 #cd build/generic 第二步:#./configure --prefix=/usr/arm-linux-gnueabihf --host=arm-linux --disable-assembly 第三步:#sudo make#sudo make install ffmpeg的交叉编译 第一步: ./configure --enable-cross-compile --target-os=linux --cc=arm-linux-gnueabihf-gcc --arch=arm --enable-shared --disable-static --enable-gpl --enable-nonfree --enable-ffmpeg --disable-ffplay --enable-ffserver --enable-swscale --enable-pthreads --disable-yasm --disable-stripping --enable-libx264 --enable-libxvid --extra-cflags=-I/usr/arm-linux-gnueabihf/include --extra-ldflags=-L/usr/arm-linux-gnueabihf/lib --prefix=/usr/arm-linux-gnueabihf 第二步:修改makefile文件 第三步:#sudo make#sudo make install 第四步:将ffmpeg加入pkg-config 执行#sudo gedit /etc/bash.bashrc,在末尾加入 export LD_LIBRARY_PATH=/usr/arm-linux-gnueabihf/lib/ export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/arm-linux-gnueabihf /lib/pkgconfig export PKG_CONFIG_LIBDIR=$PKG_CONFIG_LIBDIR:/usr/arm-linux-gnueabihf /lib/ 完毕后使用命令:#source /etc/bash.bashrc 或者单独使用三个export,不过寿命只在一个终端中,终端关闭时就失效。 几个关键解释:--extra-flags指向xvid的安装路径,--extra-ldflags指向x264的路径 安装cmake-gui 执行:#sudo apt-get install cmake-qt-gui Opencv的交叉编译 第一步:修改opencv/platflrms/linux/目录下的arm-gnueabi.toolchain.cmake,将其所有删掉,写入: set( CMAKE_SYSTEM_NAME Linux ) set( CMAKE_SYSTEM_PROCESSOR arm ) set( CMAKE_C_COMPILER arm-linux-gnueabihf-gcc ) set( CMAKE_CXX_COMPILER arm-linux-gnueabihf-g++ ) 第二步:在opencv目录下新建build目录,进入build目录,执行命令: #cmake -DCMAKE_TOOLCHAIN_FILE=../platforms/linux/arm-gnueabi.toolchain.cmake ../ 这时,要保证出现:第三步:使用cmake-gui打开CMakeCache.txt,去掉所有的无关项,修改CMAKE_INSTALL_PREFIX,来确定make install的目录 第四步:#sudo make#sudo make install 可能出现的错误: opencv编译不通过,出现skip之类的,说明ffmpeg没编译好,或者其编译好了,但是pkg-config没有设置好,一定要设置好其环境 前边几步不通过的话,看看命令有没有少,或者有没有修改好makefile 在arm上使用时,一种方法时直接将编译好的opencv目录下的lib文件拷贝到开发板对应的/lib目录下,其他或者拷贝到自己指定的目录,并设置好环境变量即可使用

linux 下 opencv程序怎么编译

运行了楼上给的命令之后,结果是这样的:

# g++ `pkg-config opencv --libs --cflags opencv` facedect.cpp -o facedect -static

/tmp/cc8XhRf6.o: In function `find_face(_IplImage*)':

facedect.cpp:(.text+0x51): undefined reference to `cvCreateImage'

facedect.cpp:(.text+0xc0): undefined reference to `cvCreateImage'

facedect.cpp:(.text+0xdd): undefined reference to `cvCvtColor'

facedect.cpp:(.text+0xf7): undefined reference to `cvResize'

facedect.cpp:(.text+0x109): undefined reference to `cvEqualizeHist'

facedect.cpp:(.text+0x116): undefined reference to `cvClearMemStorage'

facedect.cpp:(.text+0x188): undefined reference to `cvHaarDetectObjects'

facedect.cpp:(.text+0x1c6): undefined reference to `cvReleaseImage'

facedect.cpp:(.text+0x1d1): undefined reference to `cvReleaseImage'

/tmp/cc8XhRf6.o: In function `isperson(char const*)':

facedect.cpp:(.text+0x21e): undefined reference to `cvLoad'

facedect.cpp:(.text+0x22f): undefined reference to `cvCreateMemStorage'

facedect.cpp:(.text+0x25a): undefined reference to `cvLoadImage'

facedect.cpp:(.text+0x27d): undefined reference to `cvReleaseImage'

facedect.cpp:(.text+0x289): undefined reference to `cvDestroyWindow'

collect2: ld returned 1 exit status

在linux上交叉编译opencv踩过的坑

交叉编译opencv主要参考了这篇文章:

一、如何配置cmake

1、where is the source code:即opencv源码路径

where to build the binaries:编译生成的库文件放在这个路径下,自己设置的,自己记住就好

2、点configure按钮,弹出配置窗口,选最后一个,然后next。

3、输入自己的交叉编译器路径,第三方库路径,finish

4、等一会,cmake会出现编译选项,自行修改

我也不太清楚这里面每一个组件的具体用途,就根据网上别人给出的选项作了修改

找到BUILD_ZLIB,勾选上

找到OPENCV_GENERATE_PKGCONFIG,勾选上。这是生成.pc文件的选项

build_opencv_gapi不勾选。不去掉会编译报错

#疑问:是不是选中了witn_xxx选项,就要同时选中build_xxx选项?前面的交叉编译第三方依赖库有用吗?

修改cmake_build_type为Release

修改cmake_install_prefix为你自己的输出文件夹

点Generate,生成Makefile

二、编译

使用gedit打开build路径下的CMakeCache.txt文件,找到CMAKE_EXE_LINKER_FLAGS选项在后面加上:-lpthread -lrt。这是一个多线程链接库

make make install

三、配置.pc文件

成功编译的话,你会在输出路径下找到你的库文件

然后你还会在~/lib/pkgconfig下找到你的.pc文件

因为我的电脑也装了x86平台的opencv库,为了便于区分,我把这个.pc文件改成了opencv_arm.pc,然后复制进了pkgconfig的默认路径下。

四、验证

最后验证一下:在samples/CPP中找个例程编译一下:(必须加上-std=c++11,opencv必须有c++2011支持)

大功告成!!!

装这个东西一共花了我了五天时间,几乎每一步我都会遇到问题,好在有各路网友的分享我才能成功。向开源精神致敬!!!

关于linux编译opencv源码和linux编译openssl的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。


【免责声明】:

本站所发布的一切资源仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。

【关于转载】:

本站尊重互联网版权体系,本站部分图片、文章大部分转载于互联网、所有内容不代表本站观点、不对文章中的任何观点负责、转载的目的只用于给网民提供信息阅读,无任何商业用途,所有内容版权归原作者所有
如本站(文章、内容、图片、视频)任何资料有侵权,先说声抱歉;麻烦您请联系请后台提交工单,我们会立即删除、维护您的权益。非常感谢您的理解。

【附】:

二○○二年一月一日《计算机软件保护条例》第十七条规定:为了学习和研究软件内含的设计思想和原理,通过安装、显示、传输或者存储软件等方式使用软件的,可以不经软件著作权人许可,不向其支付报酬!鉴于此,也希望大家按此说明研究软件!

注:本站资源来自网络转载,版权归原作者和公司所有,如果有侵犯到您的权益,请第一时间联系我们处理!

-----------------------------------------------------------------------------------------------------------

【版权声明】:

一、本站致力于为源码爱好者提供国内外软件开发技术和软件共享,着力为用户提供优资资源。
二、本站提供的源码下载文件为网络共享资源,请于下载后的24小时内删除。如需体验更多乐趣,还请支持正版。
三、如有内容侵犯您的版权或其他利益的,请编辑邮件并加以说明发送到站长邮箱。站长会进行审查之后,情况属实的会在三个工作日内为您删除。
-----------------------------------------------------------------------------------------------------------


内容投诉
源码村资源网 » linux编译opencv源码(linux编译openssl)
您需要 登录账户 后才能发表评论

发表评论

欢迎 访客 发表评论