NetBeans 7.2 MinGW为OpenCV安装

我已根据http://netbeans.org/community/releases/72/cpp-setup-instructions.html在我的电脑上安装了minGW,并且我使用已找到所有必要文件的NetBeans 7.2“恢复了默认值”。

但是当我制作测试样本C ++应用程序时出现以下错误:

c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -ladvapi32 c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lshell32 c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -luser32 c:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/bin/ld.exe: cannot find -lkernel32 collect2: ld returned 1 exit status make[2]: *** [dist/Debug/MinGW-Windows/welcome_1.exe] Error 1 make[1]: *** [.build-conf] Error 2 make: *** [.build-impl] Error 2 

任何人都可以帮我安装openCV和minGW for NetBeans吗?

如何使用Netbeans 7.2构建和使用openCV。 一步步

准备工作

在“c:\ mingw \ bin”和“c:\ mingw \ lib”中

  • 搜索并删除所有libopencv * .dll,libopencv * .dll.a,libopencv * .a

测试了以下程序

下载OpenCV-2.4.2.exe(222.9 MB) http://sourceforge.net/projects/opencvlibrary/files/
下载mingw-get-inst-20120426.exe(662.7 kB) http://sourceforge.net/projects/mingw/files/
下载cmake-2.8.9-win32-x86.zip http://www.cmake.org/files/v2.8/cmake-2.8.9-win32-x86.zip

本手册中使用的所有参考文献:

本手册中的所有参考文献均以“T:\”开头。 请更改为实际的驱动器号! (主要是“c:\”)

  • C:\ msys \ 1.0 \ src —(如果不存在“msys”,则创建或使用“C:\ mingw \ src”)。
  • C:\ MinGW的\ BIN

注意:
我在msys-mingw环境中用于新项目,总是在“ C:\ msys \ 1.0 \ src ”目录下。
为了具有相同的条件,gcc也应该是“4.7.0”而不是“4.6.2”

  • 放在PATH的前面“C:\ mingw \ bin; C:\ msys \ 1.0 \ bin;”

您可能已经注意到,您无法使用OpenCV-2.4.2.exe附带的库。
完全忽略文件夹“… \ opencv \ build \ x86 \ mingw \ bin”“… \ opencv \ build \ x86 \ mingw \ lib”

让我们来看看新的mingw文件。

启动mingw-get-inst-20120426.exe

使用:下载最新的存储库…

在此处输入图像描述

确保指定的目录正确,通常为“C:\ mingw”。
检查如下所述。
如果您还需要msys,那么也请选择“MinGW Developer Toolkit”。

MinGW安装

现在MinGW-Get下载所有新文件。 (4.7.0)

运行“OpenCV-2.4.2.exe”

文件所在的文件夹应为“c:\ msys \ 1.0 \ src”。
这会写入新目录“opencv”中的所有文件。
新文件夹:“ C:\ msys \ 1.0 \ src \ opencv ”。 从现在开始,这是我们的顶级目录

打开“ cmake-2.8.9-win32-x86.zip ”并将文件复制到cmake文件夹。

创建Makefile

运行“ C:\ cmake \ bin \ cmake-gui.exe

  • 答:设置必填字段,单击“配置”
  • B:设置,点击“下一步” 在此处输入图像描述

  • 设置并单击“确定” 在此处输入图像描述

可能的错误:在PATH中找到了sh.exe

  • 答:错误“在您的PATH中找到了sh.exe”
  • B:在“C:\ msys \ 1.0 \ bin”或“C:\ mingw \ bin”中搜索sh.exe并重命名为“shxx.exe”

  • 再次单击“配置”。

在此处输入图像描述

可能的错误:未设置CMAKE_MAKE_PROGRAM

  • 标记“CMAKE_MAKE_PROGRAM”并复制,单击“添加条目”

在此处输入图像描述

  • 粘贴,设置并单击“确定”
  • 再次单击“配置”。

在此处输入图像描述

现在它应该工作。 Cmake搜索编译器环境

在此处输入图像描述

Cmake显示选项页面

  • 滚动红色选项。 不要改变任何东西
  • 再次单击“配置”

在此处输入图像描述

让我们生成Makefile

  • 点击“生成”

在此处输入图像描述

建立openCV

  • 运行“cmd”转到目录“C:\ msys \ 1.0 \ src \ opencv \ build \ mingw”。 打字“make”

在此处输入图像描述

请稍候!

我的电脑大约需要4个小时

在此处输入图像描述

检查所有文件是否在正确的位置

  • B:* .dll在“C:\ msys \ 1.0 \ src \ opencv \ build \ mingw \ bin”中
  • C:* .dll.a在“C:\ msys \ 1.0 \ src \ opencv \ build \ mingw \ lib”中

在此处输入图像描述

构建一个opencv程序

  • 在“C:\ msys \ 1.0 \ src \ opencv”中创建一个新文件夹“OpenCV-MakeC”
  • 在文件夹“OpenCV-MakeC”中创建“Makefile”和“imgdisplay.cpp”。

避免复制和粘贴错误。 以下是2个下载文件:

在此处输入图像描述

Makefile文件

 MKDIR_P = C:/msys/1.0/bin/mkdir -p DESTDIRB = build/Debug DESTDIRD = dist/Debug LIBDIRCV = ../build/mingw/lib CFLAGS = -O2 CXX = C:/mingw/bin/g++.exe Applic = imgdisplay ALL: imgdisd imgdisd: $(CXX) $(CFLAGS) -c -g $(Applic).cpp -I../build/include -MMD -MP -MF $(DESTDIRB)/$(Applic).od -o $(DESTDIRB)/$(Applic).o $(CXX) $(CFLAGS) -o $(DESTDIRD)/$(Applic) $(DESTDIRB)/$(Applic).o -L../build/mingw/bin $(LIBDIRCV)/libopencv_calib3d242.dll.a $(LIBDIRCV)/libopencv_contrib242.dll.a $(LIBDIRCV)/libopencv_core242.dll.a \ $(LIBDIRCV)/libopencv_features2d242.dll.a $(LIBDIRCV)/libopencv_flann242.dll.a $(LIBDIRCV)/libopencv_gpu242.dll.a $(LIBDIRCV)/libopencv_highgui242.dll.a $(LIBDIRCV)/libopencv_imgproc242.dll.a \ $(LIBDIRCV)/libopencv_legacy242.dll.a $(LIBDIRCV)/libopencv_ml242.dll.a $(LIBDIRCV)/libopencv_nonfree242.dll.a $(LIBDIRCV)/libopencv_objdetect242.dll.a $(LIBDIRCV)/libopencv_photo242.dll.a \ $(LIBDIRCV)/libopencv_stitching242.dll.a $(LIBDIRCV)/libopencv_ts242.a $(LIBDIRCV)/libopencv_video242.dll.a $(LIBDIRCV)/libopencv_videostab242.dll.a md: $(MKDIR_P) "$(DESTDIRB)" $(MKDIR_P) "$(DESTDIRD)" 

imgdisplay.cpp

 /* * File: imgdisplay.cpp * Author: Administrator * * Created on 14. September 2012, 01:12 */ #include  #include  #include  using namespace std; int main( int argc, char* argv[] ) { cvNamedWindow("mainWin", CV_WINDOW_AUTOSIZE); cvMoveWindow("mainWin", 100, 100); IplImage* img; img = cvLoadImage("D:/grafik/Lightroom/light01.jpg"); if (!img) { std::cout << "Could not open the image file" << std::endl; return -1; } cvShowImage("My Picture", img); cvWaitKey(0); cvReleaseImage(&img); return 0; } 

Netbeans 7.2创建了一个项目

  • 文件 - 新项目

在此处输入图像描述

使用如下所述的设置。

在此处输入图像描述

创建项目

在此处输入图像描述

创建一个新目标

  • 在“Makefile”上单击鼠标右键

注意:如果出现错误:Makefile:12:***缺少分隔符。 停止。

主要是复制和粘贴错误! (确保起始行没有空格。但是设置了2个标签)。

在此处输入图像描述

创建新文件夹

  • 在“Makefile”上单击鼠标右键
  • 使用新目标“md”

在此处输入图像描述

projects文件夹现在看起来像..

在此处输入图像描述

建立项目

在此处输入图像描述

调试项目

  • 将所需的dll复制(C:\ msys \ 1.0 \ src \ opencv \ build \ mingw \ bin到T:\ msys \ 1.0 \ src \ opencv \ OpenCV-MakeC \ dist \ Debug)

在此处输入图像描述

  • 打开imgdisplay.cpp(双击)
  • 设置断点第17行

    17 cvNamedWindow(“mainWin”,CV_WINDOW_AUTOSIZE);

  • 单击“调试”按钮

在此处输入图像描述

程序在第17行停止

在此处输入图像描述

未解决的标识符

如果.cpp文件的来源是这样的

在此处输入图像描述

在项目上单击鼠标右键。
检查C/C++ Code As...
运行Reparse Project.

在此处输入图像描述

如果这还不够。
转到Project Properties
按照描述填写“ Include输入字段。

在此处输入图像描述

清理

  • 如果您将sh.exe重命名为shxx.exe! 重新命名!
  • 如果PATH变量中有空格,请在空格周围加上引号(仅限于Visual Studio等相关程序)。
    我知道它们不是必需的,但是一两个程序无法处理空间
    在路径!!
  • 在一个

它也发生在我身上,但不是使用make我使用mingw32-make ,然后它起作用了。

您可以使用mingw-get install mingw32-make