2012-02-18 42 views
0

ここにいない場合は、ソースについて知りたいですし、Cygwin(Windows 7 64ビット版)でOpenCVをビルドしているときに発生するエラーを修正してください。OpenCVのビルドエラー

cygwinインストールにMingW-pthread pacgaeをインストールしてCygwinをインストールしました。

OpenCV verをダウンロードしました。 2.3.1ソースパッケージ。

編集:いくつかの調整後

、とOpenCVのは今罰金のビルドプロセスを構築するための変更。 しかし、単純なテストopenCVコード(Cソースコード)をコンパイルすると、以下のように多くの基本的なopenCV関数への未定義の参照のリンカーエラーが多く発生します。 LD_LIBRARY_PATHを正しく設定しようとしましたが、それでもエラーが発生します。

cc -L/usr/local/lib -I/usr/local/include/opencv2 -/usr/local/include/opencv -lop                            encv_imgproc -lopencv_highgui -lopencv_video -lopencv_calib3d test1.c -o test_op                            encv 
cc: unrecognized option '-/usr/local/include/opencv' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x9dd): undefined reference to `_cvFree_' 
/tmp/ccfEqFK0.o:test1.c:(.text+0xa4e): undefined reference to `_cvFree_' 
/tmp/ccfEqFK0.o:test1.c:(.text+0xb44): undefined reference to `_cvGetRows' 
/tmp/ccfEqFK0.o:test1.c:(.text+0xb6f): undefined reference to `_cvGetCols' 
/tmp/ccfEqFK0.o:test1.c:(.text+0xb82): undefined reference to `_cvReleaseMat' 
/tmp/ccfEqFK0.o:test1.c:(.text+0xcd2): undefined reference to `_cvAddS' 

/tmp/ccfEqFK0.o:test1.c:(.text+0x1137): undefined reference to `_cvRead' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x11e1): undefined reference to `_cvLoadImage' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x129d): undefined reference to `_cvCreateImage' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x12dd): undefined reference to `_cvResize' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x12f1): undefined reference to `_cvNamedWindow' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x1305): undefined reference to `_cvNamedWindow' 
              ' 
/tmp/ccfEqFK0.o:test1.c:(.text+0x13ad): undefined reference to `_cvDestroyWindow                    

... ...多くの未定義の参照です。メッセージの下

       ' 
collect2: ld returned 1 exit status 
Makefile:10: recipe for target `test_opencv' failed 
make: *** [test_opencv] Error 1 

EDIT

まだそこにあるが、それは、ビルドプロセス中にエラーが、メッセージではありません。 cygwinの下にOpenCVのを構築しながら

*はその後、私が作るないとき、それはエラーメッセージを表示します

C++:認識できないオプション '-pthread' [36%]ビルCXXオブジェクト・モジュール/のHighGUI/CMakeFiles/opencv_highgui.dir/SRC /grfmt_sunras.o*

と私は同じエラーにc++: unrecognized option '-pthread'

を参照してください他の多くのファイルのための私はOpenCVのはcygwinの下に行く取得する方法を、誰もがCygwinの下にOpenCVの構築の経験を持っているかどうかを知りたいですか? 。今私はOpenCV用のWindowsセットアップがあることを知っているが、それは私にとって何が選択肢ではない。

答えて

0

ありがとう:

:私は次のような問題があった見つけたもの

私のopenCVテストアプリケーションのMakefileで、私はインポートライブラリ(* .a)とリンクしていました。どちらが問題だったのですか?

問題のMakefileのファイル

-l:/usr/local/lib/libopencv_core.dll.a ...etc... 

にリンクされた

私は、上記のように任意のエラーO/W、(リンク)、それが働いて、実際のDLL LIBSにリンクして細かいことを変更しました。

LIBS = -l:/usr/local/bin/cygopencv_core-2.3.dll -l:/usr/local/bin/cygopencv_imgproc-2.3.dll -l:/usr/local/bin/cygopencv_highgui-2.3.dll -l:/usr/local/bin/cygopencv_video-2.3.dll -l:/usr/local/bin/cygopencv_calib3d-2.3.dll 
1

あなたのコマンドライン引数にはいくつか問題があります。それはあなたの質問に完全には貼り付けられていないようです(いくつかの字下げの問題はそう示唆しています)。 cc: unrecognized option '-/usr/local/include/opencv':CCはそれについてあなたを語っているので、明白な間違いを容易に識別することができ

  • 1つのコマンドラインでヘッダディレクトリを追加する場合

、あなたは-Iでそれらのそれぞれを指定する必要があります。どのようにして失敗したかをお知らせください:-/usr/local/include/opencv。それはあなたがまた、将来的には、CMDラインで-lopencv_core

が欠けているように思われるべき-I/usr/local/include/opencv

  • (そのが正しく設定されている場合)、あなたがOpenCVのヘッダをインクルード支援するのpkg-config設定を使用そして、ライブラリ:ポインタのための

    cc test.c -o test_op `pkg-config --cflags --libs opencv` -lop 
    
+0

をそして、それは**でなければなりません - lpthread **代わりに:

変更Makefileが見えます! – karlphillip