как скомпилировать fftw3 на iOS - PullRequest
2 голосов
/ 21 октября 2011

В настоящее время я просто хочу использовать FFTW3 на iOS, так как я успешно скомпилировал его в версию i386, которая используется симулятором iOS, остальная работа - скомпилировать его в версию armv6 (или v7) и использовать эти две версии. вместе, ниже моя неправильная конфигурация:

. / Configure CC = / Разработчик / Платформы / iPhoneOS.platform / Разработчик / USR / бен / арм-яблочно-darwin10-GCC-4.2.1 LD = / Разработчик / Платформы / iPhoneOS.platform / Разработчик / USR / бен / л.д. CCFLAGS = "- I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/ -I /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/include/ -miphoneos-version-min = 2.2 -arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk " LDFLAGS = "- арка armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk» --enable-float --host = arm-apple-darwin --build = arm-apple-darwin10 --disable-fortran

когда использую это для сборки fftw3, я всегда получаю это:

проверка BSD-совместимой установки ... / usr / bin / install -c проверка правильности среды сборки ... да проверка на руку-яблоко-дарвин-стрип ... нет проверка на полосу ... полоса configure: ПРЕДУПРЕЖДЕНИЕ: использование кросс-инструментов без префикса с триплетом хоста проверять потокобезопасный mkdir -p ... ./install-sh -c -d проверка на gawk ... нет проверка на mawk ... нет проверка на nawk ... нет проверка на awk ... awk проверяет, делает ли set наборы $ (MAKE) ... да проверка, включать ли специфичные для сопровождающего части Makefiles ... нет проверка типа системы сборки ... arm-apple-darwin10 проверка типа хост-системы ... arm-apple-darwin проверка наличия arm-apple-darwin-gcc ... /Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/arm-apple-darwin10-gcc-4.2.1 проверка работоспособности компилятора C ... нет configure: ошибка: в /Users/chencyz/Desktop/Development/Misc/fftw3/fftw-3.3': configure: error: C compiler cannot create executables See config.log 'для более подробной информации

Мне не очень ясно о проблеме (компилятор C не работает?), Кто-нибудь может дать мне несколько руководств, большое спасибо!

Ответы [ 2 ]

1 голос
/ 03 ноября 2011

Согласно ./configure --help:

--build=BUILD     configure for building on BUILD [guessed]
--host=HOST       cross-compile to build programs to run on HOST [BUILD]

Таким образом, ключ должен передать --host = arm-apple-darwin10 и выполнить configure с правильными изменениями в PATH, CFLAGS, LDFLAGSи т. д.

Кажется, это работает:

PATH=/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:$PATH \
../configure --host=arm-apple-darwin10 CFLAGS="-I/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk/usr/include -I/Library/iPhone/include -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk" \
CC=arm-apple-darwin10-gcc-4.2.1 \
CPP=cpp \
LDFLAGS="-isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.3.sdk" \
--enable-single

Удачи.

0 голосов
/ 21 октября 2011

У меня была похожая проблема при попытке получить симпатичную компиляцию для iOS.Глядя на скрипт configure, он, похоже, не использовал переменную $LDFLAGS, но если бы это было так, я думаю, вы могли бы добавить в строку configure следующее:

./configure CC=... CFLAGS="-arch armv7 -isysroot $SDKROOT" CXXFLAGS="$CFLAGS" LDFLAGS="$CFLAGS -Wl,-syslibroot $SDKROOT"

Где $SDKROOTпо умолчанию /Developer/Platforms/iPhone.platform/Developer/SDKs/iPhone5.0.sdk (с iOS 5.0 SDK).

Я так и не получил симпатичную компиляцию, так как не мог понять, как исправить вызов C-компилятора, однако ваш пробег может отличаться.*

...