2016-05-03 3 views
2

ターミナルコマンドによって、Mac上でこれをコンパイルします:私は、私はむしろターミナルコマンドで書くものかを知りたい以下のようにどのように私は私のOpenCVのプロジェクトをコンパイルするためのXcodeを使用しています、と私はいくつかの設定を持っている

HEADER_SEARCH_PATHS = /usr/local/include 

    LIBRARY_SEARCH_PATHS = /usr/local/lib 

    OTHER_LDFLAGS = -lopencv_calib3d -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_highgui -lopencv_imgcodecs -lopencv_imgproc -lopencv_ml -lopencv_objdetect -lopencv_photo -lopencv_shape -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videoio -lopencv_videostab 

xcodeの設定よりも

答えて

3

をあなたはhomebrewOpenCVをインストールし、またhomebrewpkgconfigパッケージをインストールした場合、パッケージには、あなたが自分自身を必要とする設定を伝えることができます - はるかに正確にあなたがそれらを推測することができるより。

簡単な方法は、それが知っているすべてのパッケージ一覧表示するpkgconfigを依頼することです:今、あなたは、パッケージ名は、プレーンとopencv単純であり、あなたはあなたのような必要なフラグを見つけることができます知っている、だから、

pkg-config --list-all | grep -i opencv 

opencv     OpenCV - Open Source Computer Vision Library 

をこの:あなたのコンパイルとリンクを意味

pkg-config --cflags --libs opencv 
-I/usr/local/Cellar/opencv/2.4.12_2/include/opencv \ 
-I/usr/local/Cellar/opencv/2.4.12_2/include \ 
-L/usr/local/Cellar/opencv/2.4.12_2/lib \ 
-lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab 

は、単に次のようになります。

g++ $(pkg-config --cflags --libs opencv) program.cpp -o program 

Makefileでそれを行う場合は、$記号を二重にする必要があります。

システムがうまくインストールされていない場合は、pkgconfigファイルを自分で探す必要があります。だから、どうなる:

find /usr/local -name "opencv*pc" 
/usr/local/Cellar/opencv/2.4.12_2/lib/pkgconfig/opencv.pc 

を次にあなたは、特にこのように、そのファイルにアクセスすることができます

pkg-config --cflags --libs /usr/local/Cellar/opencv/2.4.12_2/lib/pkgconfig/opencv.pc 
+0

うわー、あなたの答えは私にとって非常に便利ですが、私は今までにpkgconfigを知られていませんでした。 –

1

あなたが使用することができます。

g++ -I ${HEADER_SEARCH_PATHS} -L ${LIBRARY_SEARCH_PATHS} ${OTHER_LDFLAGS} ${SOURCE_FILES} 
関連する問題