[OpenCV]——Windows下g++编译opencv代码
MinGW-w64编译OpenCV-3.4.5:(一)MinGW-w64编译OpenCV-3.4.5 - 简书 (jianshu.com)编译后生成的文件介绍:bin:可执行程序目录。etc:一些配置文件目录。include:OpenCV头文件目录。x64:64位系统对应的OpenCV库。x64子目录1mingwmingw子目录1 bin:用于存放可执行程序和.dll动态链接库文件。
·
遇到的问题呢就是,以前在linux下写的opencv代码,现在需要在windows上结合目前的项目以脚本方式(.bat)运行,这是需要使用g++编译代码(本代码原先在vs2013上运行过),这个时候指定依赖关系的时候一直出问题(事先我的opencv是exe下载到本地的)。后来经过查询,需要对opencv进行源码编译,具体步骤如下所示:
MinGW-w64编译OpenCV-3.4.5:(一)MinGW-w64编译OpenCV-3.4.5 - 简书 (jianshu.com)
https://www.jianshu.com/p/4e1f1edabfda
编译后生成的文件介绍:
bin
:可执行程序目录。etc
:一些配置文件目录。include
:OpenCV头文件目录。
x64
:64位系统对应的OpenCV库。x64
子目录1mingw
mingw
子目录1bin
:用于存放可执行程序和.dll动态链接库文件。
mingw
子目录2lib
: .a文件,LINUX系统中的静态链接库文件。一些.cmake文件。
OpenCV的链接(MinGW-w64):
(二)OpenCV的链接(MinGW-w64) - 简书 (jianshu.com)
https://www.jianshu.com/p/5933a8328805
OpenCV编译好的版本:
整好了这些,开始运用:
1、demo代码
#include <vector>
#include <stdio.h>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main(int argc, char **argv)
{
Mat img = imread(argv[1]);
imshow("llena", img);
waitKey(0);
return 0;
}
2、编译GCC 参数详解 | 菜鸟教程 (runoob.com)
https://www.runoob.com/w3cnote/gcc-parameter-detail.html
g++ -o demo images.cpp -I E:\software\opencv\opencv\build\install\include -L E:\software\opencv\opencv\build\install\x64\mingw\lib -lopencv_core348 -lopencv_highgui348 -lopencv_imgcodecs348 -lopencv_imgproc348
3、运行
编译后运行时,出现问题,提示无法找到入口
解决办法:遇到这样的问题是因为在exe程序目录下,缺少所依赖的动态链接库。因此只要将所缺少的动态链接库添加到程序目录下即可。
更多推荐
所有评论(0)