Форум программистов, компьютерный форум CyberForum.ru

Программирование iOS/iPhone

Войти
Регистрация
Восстановить пароль
 
Adem
6 / 6 / 0
Регистрация: 17.04.2009
Сообщений: 34
#1

FFTW и iOS - Программирование iOS/iPhone

03.12.2012, 21:42. Просмотров 651. Ответов 0
Метки нет (Все метки)

Всем доброго времени суток!

Помогите, пожалуйста, решить проблему с компиляцией библиотеки FFTW (http://www.fftw.org) под iOS, а то уже все возможные форумы обшарил в поисках решения, но никак не получается укротить Xcode.

Суть вот в чём:

Я скачиваю исходники библиотеки http://www.fftw.org/fftw-3.3.3.tar.gz и далее выполняю конфигурацию:

Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#!/bin/bash
 
unset DEVROOT SDKROOT CFLAGS CC LD CPP LDFLAGS CPPFLAGS
 
IOS_BASE_SDK="6.0"
IOS_DEPLOY_TGT="6.0"
export DEVROOT=/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer
export SDKROOT=$DEVROOT/SDKs/iPhoneOS$IOS_BASE_SDK.sdk
export CFLAGS="-arch armv7s -pipe -no-cpp-precomp -isysroot $SDKROOT -miphoneos-version-min=$IOS_DEPLOY_TGT -I$SDKROOT/usr/include/"
 
export CFLAGS="$CFLAGS -I$GLOBAL_OUTDIR/include -L$GLOBAL_OUTDIR/lib"
export CPPFLAGS=$CFLAGS
export CPP="$DEVROOT/usr/bin/gcc -E $CPPFLAGS"
export CC="$DEVROOT/usr/bin/gcc"
export LD=$DEVROOT/usr/bin/ld
export LDFLAGS="-L$SDKROOT/usr/lib/"
 
export PREFIX="/Users/Adem/Desktop/mylib_arm7s"
 
./configure --prefix="$PREFIX" --enable-single --host=arm-apple-darwin --disable-fortran
и make, make install.

Аналогичную операцию провожу для архитектуры armv7, ибо в настройках проекта установлены эти две архитектуры.

Потом, с помощью утилиты lipo, объединяю полученные .a-файлы:

lipo -arch armv7 ~/mylib_arm7/lib/libfftw3f.a -arch armv7s ~/mylib_arm7s/lib/libfftw3f.a -create -output ~/fftw_lib/libfftw3f.a

Далее импортирую полученную библиотеку и хедер в xcode, тупо перетягивая файлы из финдера в проект, и линкую .a-файл. Пытаюсь скомпилироавть и запустить на самом устройстве, и в ответ получаю:

Undefined symbols for architecture armv7:
"_fftw_free", referenced from:
-[DeconvolutionTool doDeconvoluateForChannel:] in DeconvolutionTool.o
"_fftw_malloc", referenced from:
-[DeconvolutionTool doDeconvoluateForChannel:] in DeconvolutionTool.o
ld: symbol(s) not found for architecture armv7
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
03.12.2012, 21:42     FFTW и iOS
Посмотрите здесь:

архитектура iOS
iOS SDK
IOS и ARC
iOs Book
Безопасность iOS
IOS - начало
ios календарь
Обзор ios 7
GameCenter и iOS 7
IOS И Postgresql
Эмулировать IOS с пк
Язык Си и iOS

Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Ответ Создать тему
Опции темы

Текущее время: 07:59. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru