4

OS X 10.5 (intel) で OpenCV をビルドしているときに、次のエラーが発生します。

ld: warning in .libs/_cv_la-_cv.o, file is not of required architecture
ld: warning in .libs/_cv_la-error.o, file is not of required architecture
ld: warning in .libs/_cv_la-pyhelpers.o, file is not of required architecture
ld: warning in .libs/_cv_la-cvshadow.o, file is not of required architecture
ld: warning in ../../../cv/src/.libs/libcv.dylib, file is not of required architecture
ld: warning in /Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib/libcxcore.dylib, file is not of required architecture
Undefined symbols for architecture i386:
"_fputs$UNIX2003", referenced from:
  _PySwigObject_print in _cv_la-_cv.o
  _PySwigPacked_print in _cv_la-_cv.o
  _PySwigPacked_print in _cv_la-_cv.o
ld: symbol(s) not found for architecture i386
collect2: ld returned 1 exit status
lipo: can't open input file: /var/folders/Sr/Srq9N4R8Hr82xeFvW3o-uk+++TI/-Tmp-//cchT0WVX.out (No such file or directory)
make[4]: *** [_cv.la] Error 1
make[3]: *** [all-recursive] Error 1
make[2]: *** [all-recursive] Error 1
make[1]: *** [all-recursive] Error 1
make: *** [all] Error 2

./configure --without-python の実行中はすべて問題ありません。もう 1 つの奇妙な点は、Python 2.4.5 または 2.5.1 を使用したときにすべて問題なくビルドされていたのに、Python Framework 2.5.2 に切り替えた後に問題が発生したことです。

4

3 に答える 3

1

リンク中に /Developer/SDKs/MacOSX10.4u.sdk を検索すると、異なるアーキテクチャについて警告されるのは少し奇妙に思えます。ビルド環境 (XCode、GCC、Python、$PATH のバージョン) について詳しく教えてください。等)

あるいは、利用可能な OpenCV バイナリのいずれかが機能しませんか?

于 2008-11-26T10:29:09.330 に答える
0

わかりました、私はそれを解決しました

Macports などから python でコンパイルする必要があります。次に、実行する必要があります/System/Library/Frameworks/Python.framework/Versions/2.5/bin/python2.5(これは私の以前の Python バージョンです)。そこで OpenCV が機能します。

于 2008-11-26T20:37:14.033 に答える
0

/Developer/SDKs/MacOSX10.4u.sdk/usr/local/lib は、私が得ている警告の原因となったファイルを削除した後の /usr/local/lib への単なるリンクです:

ld: warning in .libs/_cv_la-_cv.o, file is not of required architecture
ld: warning in .libs/_cv_la-error.o, file is not of required architecture
ld: warning in .libs/_cv_la-pyhelpers.o, file is not of required architecture
ld: warning in .libs/_cv_la-cvshadow.o, file is not of required architecture
ld: warning in ../../../cv/src/.libs/libcv.dylib, file is not of required architecture
ld: warning in /Users/Pietras/opencv/cxcore/src/.libs/libcxcore.dylib, file is not of required architecture
Undefined symbols for architecture i386: ... `

そして、これらのファイルはmakeによって作成されます。

gcc: i686-apple-darwin9-gcc-4.0.1

$パス:

/Library/Frameworks/Python.framework/Versions/Current/bin:/Library/Frameworks/Python.framework/Versions/Current/bin:/sw/bin:/sw/sbin:/opt/local/bin:/opt/local/sbin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/AVRMacPack/bin:/usr/X11R6/bin

XCode 3 (最新)

Python 2.5.1 (r251:54869、2007 年 4 月 18 日、22:08:04) - python.org の MacPython (2.5.2 の代わりにダウングレードして使用しようとしましたが、それはもう機能しません...)

which python
/Library/Frameworks/Python.framework/Versions/Current/bin/python

OS X 用の Python OpenCV バイナリが見つかりませんでした。macports から python2.4 または 2.5 をデフォルトとして設定して作成しようとしましたが、コンパイルおよびインストールされますが、インポートしようとするとバス エラーまたは致命的エラーが発生しますPython エラー インタープリターが初期化されていません (バージョンが一致しませんか?) が発生し、終了します。

于 2008-11-26T17:42:00.283 に答える