3

OS X Lionで32ビットのOpenCVを動作させる方法を見つけようとして、何日もグーグルで試してみましたが、64ビットバージョンしか見つかりません。

だから私は次の質問があります:

OpenCV ライブラリには 32 ビットまたは 64 ビットのアーキテクチャがありますが、正しいですか?

Lion で 32 ビットの OpenCV を動作させるにはどうすればよいですか? 私は次の方法を試しました: - MacPorts 経由で OpenCV をインストールします: いいえ、MacPorts は 64 ビット バージョンをインストールします。BI は OpenCV と MacPorts を削除しました。

  • 次のコマンドを使用して、Homebrew 経由で OpenCV 2.4.1 をインストールします。

brew install opencv --build32

しかし、それらも64ビットのようです。OpenCV と Homebrew を削除しました。

  • 標準の UNIX メイクファイルを使用して、自分で OpenCV 2.4.1 をインストールします。いいえ、まだ 64 ビットのように見えます。

32 ビット Mac を対象とした OS X Snow Leopard で作成された Xcode プロジェクトで OpenC を置き換える必要があるため、「64 ビットのように見える」と書きましたが、常に次のような大量のエラーが発生します。

ld: 警告: ファイル /usr/local/Cellar/opencv/2.4.1/lib/libopencv_calib3d.2.4.1.dylib を無視します。ファイルは、リンクされているアーキテクチャーではないサポートされていないファイル形式用にビルドされました (i386)

だから私はOpenCVのものは64ビットだと思います。プロジェクトを強制的に 64 ビットで実行すると、こすれますが正しく動作せず、動かなくなります。

OpenCV ライブラリが 64 ビットか 32 ビットかを確認する標準的な方法はありますか?

32 ビットの OpenCV はどこで入手できますか?

4

4 に答える 4

8

問題を解決しました。

要約: 64 ビット Mac OSX Lion で 32 ビット OpenCV ライブラリを使用することは可能です。

どのように?

ステップ 1: OpenCV 2.4.0 をダウンロードする

ステップ 2: CMake をダウンロードしてインストールします。

ステップ 3: OpenCV パッケージを untar します。

ステップ 4: ビルド用の OpenCV パッケージ内に別のディレクトリを作成する

mkdir build
cd build
cmake -G "Unix Makefiles" -D CMAKE_OSX_ARCHITECTURES=i386 -D CMAKE_C_FLAGS=-m32 -D CMAKE_CXX_FLAGS=-m32 ..

(これにより 32 ビット コンパイルが強制されます)

make -j8
sudo make install

ステップ5:楽しんでください!

詳細については、Mac OS X OpenCV ポート ページを参照してください。

私を正しい軌道に乗せてくれてありがとう:

@karlphilip:あなたが提案したようにしようとしましたが、makeオプションがないと、アーキテクチャが一貫していないため、コンパイルフェーズが失敗します。

@hamstergene : 新しいインストール後に MacPorts がスタックしました。古いインストールが残っている可能性があります :( (奇妙なことに、公式の指示に従って削除しました)。

@Adrien:それは私がやったことですが、2つのアプローチをマージする必要がありました:)

于 2012-06-27T17:56:35.803 に答える
2

さまざまな OS で OpenCv ライブラリを構成するのに苦労しました。サンプル プロジェクトが自動生成され、その中にビジネス ロジックが組み込まれていることがわかりました。

インストール手順はこちらをご覧ください

于 2013-01-18T08:21:07.733 に答える
0

OpenCV 2.4 ソースをダウンロードし、ルート ディレクトリにあるCMakeLists.txtを編集します。242 行目あたりに次のように表示されます。

# ----------------------------------------------------------------------------
#  Path for build/platform -specific headers
# ----------------------------------------------------------------------------
set(OPENCV_CONFIG_FILE_INCLUDE_DIR "${CMAKE_BINARY_DIR}/" CACHE PATH "Where to create the platform-dependant cvconfig.h")
add_definitions(-DHAVE_CVCONFIG_H)
ocv_include_directories(${OPENCV_CONFIG_FILE_INCLUDE_DIR})

呼び出しの下に、add_definitions()これを追加します。

 add_definitions(-m32)
于 2012-06-27T12:41:38.937 に答える