4

http://netbeans.org/community/releases/72/cpp-setup-instructions.htmlに従ってPCにminGWをインストールし、必要なすべてのファイルを検出したNetBeans7.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

NetBeans用のopenCVとminGWのインストールを誰かに教えてもらえますか?

4

2 に答える 2

7

Netbeans7.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.ziphttp ://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.6.2」ではなく「4.7.0」にする必要があります。

  • パスの先頭に「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も必要な場合は、「MinGWDeveloperToolkit」も選択してください。

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」を実行します

  • A:必須フィールドを設定し、[構成]をクリックします
  • B:設定し、「次へ」をクリックします ここに画像の説明を入力してください

  • 設定して「OK」をクリックします ここに画像の説明を入力してください

考えられるエラー:パスにsh.exeが見つかりました

  • A:エラー「sh.exeがPATHに見つかりました」
  • B:「C:\ msys \ 1.0 \ bin」または「C:\ mingw \ bin」でsh.exeを検索し、名前を「shxx.exe」に変更します。

  • もう一度「設定」をクリックします。

ここに画像の説明を入力してください

考えられるエラー:CMAKE_MAKE_PROGRAMが設定されていません

  • 「CMAKE_MAKE_PROGRAM」にマークを付けてコピーし、「エントリの追加」をクリックします

ここに画像の説明を入力してください

  • 貼り付け、設定して[OK]をクリックします
  • もう一度「設定」をクリックします。

ここに画像の説明を入力してください

これで動作するはずです。Cmakeはコンパイラ環境を検索します

ここに画像の説明を入力してください

Cmakeはオプションページを表示します

  • 赤いオプションをスクロールします。何も変更しないでください
  • もう一度「設定」をクリックします

ここに画像の説明を入力してください

Makefileを生成しましょう

  • 「生成」をクリックします

ここに画像の説明を入力してください

openCVの構築

  • 「cmd」を実行して、ディレクトリ「C:\ msys \ 1.0 \ src \ opencv \ build\mingw」に移動します。そこに「make」と入力します

ここに画像の説明を入力してください

お待ちください!

私のコンピューターでは約4時間かかります

ここに画像の説明を入力してください

すべてのファイルが正しい場所にあることを確認してください

  • B:「C:\ msys \ 1.0 \ src \ opencv \ build \ mingw\bin」の*.dll
  • C:「C:\ msys \ 1.0 \ src \ opencv \ build \ mingw\lib」の*.dll.a

ここに画像の説明を入力してください

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).o.d -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 <cstdlib>
#include <opencv/cv.h>
#include <opencv/highgui.h>

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;
}

Netbeans7.2はプロジェクトを作成します

  • ファイル-新しいプロジェクト

ここに画像の説明を入力してください

以下の設定を使用してください。

ここに画像の説明を入力してください

作成されたプロジェクト

ここに画像の説明を入力してください

新しいターゲットを作成する

  • 「Makefile」をマウスの右ボタンでクリックします

注:エラーが発生した場合:Makefile:12:***セパレーターがありません。止まる。

ほとんどの場合、コピーアンドペーストエラーです。(スタートラインにスペースがないことを確認してください。ただし、2つのタブが設定されています)。

ここに画像の説明を入力してください

新しいフォルダを作成します

  • 「Makefile」をマウスの右ボタンでクリックします
  • 新しいターゲット「md」を使用する

ここに画像の説明を入力してください

プロジェクトフォルダは次のようになります。

ここに画像の説明を入力してください

プロジェクトをビルドする

ここに画像の説明を入力してください

プロジェクトをデバッグする

  • 必要なdllをコピーします(C:\ msys \ 1.0 \ src \ opencv \ build \ mingw \ bin to 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などの関連プログラムのみ)。
    私はそれらが必要ではないことを知っていますが、1つまたは2つのプログラムは
    PATHのスペースを処理できません!!
于 2012-09-20T03:07:27.867 に答える
2

それは私にも起こりましたが、私が使用する代わりに、それはうまくmakeいきました。mingw32-make

mingw32-makeを使用してインストールできますmingw-get install mingw32-make

于 2012-10-12T14:13:52.593 に答える