2011-03-07 25 views
5

我一直在關注簡單指南http://www.atinfinity.info/wiki/index.php?OpenCV/Using%20OpenCV%202.2%20on%20iOS%20SDK%204.2(使用舊版指南我也讀過在http://niw.at/articles/2009/03/14/using-opencv-on-iphone/en)以獲得編譯爲在iOS 4.2上工作的OpenCV2.2。一切都很順利,直到我試圖建立。當我運行以下命令:文件是爲i386而建立的,它不是被鏈接的架構(x86_64),同時在Mac OSX上爲iOS 4.2編譯OpenCV2.2 10.6

lc:opencv_simulator leonard$ ../opencv_cmake.sh Simulator ../../OpenCV-2.2.0/ 

我收到以下錯誤:

ld: warning: in /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.2.sdk/usr/lib/libSystem.dylib, 
    file was built for i386 which is not the architecture being linked (x86_64) 

這是通過使用(其他設置中,很明顯):

-D CMAKE_OSX_ARCHITECTURES="i386" 

我讀了在OSX 10.6 i386被視爲默認設置,因此它使用系統默認值(但是這是x86_64)。我也讀我可以使用:

export CFLAGS=-m32 
export CPPFLAGS=-m32 

但是這也行不通。

任何想法?

回答

4

建立特定架構的GCC標誌-march

gcc -march=i386 ... 
+1

或'-arch i386' – 2011-03-07 21:15:04

+0

我使用cmake - 我怎麼可以強制GCC使用cmake時使用該標誌? – LeonardChallis 2011-03-08 07:29:48

+0

@Leonard Challis:可能把它放在CFLAGS中,就像你用-m32所做的一樣 – JeremyP 2011-03-08 13:05:47

相關問題