3

以前にこれに関する投稿を見たことがありますが、どの回答もうまくいかないようでした。Mac に OpenCV をインストールしたところ、コマンド ラインから g++ で正常に動作するようになりました。Mac Ports を使用してインストールしました。

$ sudo port install opencv configure.compiler=llvm-gcc-4.2

g++ でコンパイルするには、次のコマンドを使用します。

g++ myfile.cpp -o myprogram -I/opt/local/include -L/opt/local/lib -lopencv_core.2.4.2 -lopencv_calib3d.2.4.2

そして、main.cpp ファイルの私の OpenCV インクルード ヘッダーは次のとおりです。

#include "opencv2/opencv.hpp"

そして、すべてうまくいきます。

ライブラリを Xcode にインクルードしようとすると、「opencv2/opencv.hpp」ファイルが見つからないというメッセージが表示されます。ライブラリを Xcode に含めるには、いくつかの詳細な手順に従いました。まず、プロジェクト ターゲットに、ライブラリ検索パスに /opt/local/lib を追加し、ヘッダー検索に /opt/local/include、/opt/local/include/opencv、および /opt/local/include/opencv2 を追加しました。ビルド設定タブの下のパス。次に Build Phases をクリックし、Link Binary With Libraries に OpenCV .dylib ファイルをすべて /opt/local/lib に追加しました (11 個すべて)。これはうまくいきませんでした。ユーザー検索パスへの追加やターゲットの「その他のリンカーフラグ」の設定など、他にも多くのことを試しました。何も機能しませんでした。ファイルが見つかりません。正確なパス (#include "/opt/local/include/opencv2/opencv.hpp") を使用すると、'

OpenCV のバージョンは 2.4.2 です。OS X Lion 10.7.4 で Xcode 4.3.3 を使用しています。これは C++ プロジェクトです。何か案は?

4

1 に答える 1

3

この問題は、プロジェクトのプロパティに移動してターゲットをクリックすることで解決できます。ビルド設定で「ヘッダー検索パス」を検索します。そこに「/opt/local/include」を追加します。これを行うことで、Xcode にそのディレクトリ内のヘッダー ファイルも検索するように指示します。これで、次を使用できます。

#include <opencv2/opencv.hpp>

新しいプロジェクトを開始するたびにこれを行いたくない場合は、.h ファイルと .hpp ファイルを、Xcode が使用するデフォルトのインクルード ディレクトリに追加できます。このディレクトリは Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.8.sdk/usr/include にあります。

バイナリもプロジェクトに追加する必要があります。そのためには、「ビルドフェーズ」に進み、「バイナリとライブラリのリンク」セクションにバイナリを追加します。

これがお役に立てば幸いです。

于 2013-02-16T14:14:08.847 に答える