файл был создан для i386, который не является связываемой архитектурой (x86_64) при компиляции OpenCV2.2 для iOS 4.2 на Mac OSX 10.6 - PullRequest
5 голосов
/ 07 марта 2011

Я следовал простому руководству на 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), чтобы скомпилировать OpenCV2.2 для работы на iOS 4.2. Все прошло гладкопока я не попытался построить. Когда я запускаю следующее:

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

Но этотоже не работает.

Есть идеи?

1 Ответ

4 голосов
/ 08 марта 2011

Флаг gcc для построения определенной архитектуры -march, как в

gcc -march=i386 ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...