如何在iOS上编译fftw3

现在我只想在iOS上使用FFTW3,因为我已经成功将它编译成iOS模拟器使用的i386版本,剩下的工作是将它编译成armv6(或v7)版本,并将这两个版本一起编译是我的错误配置:

./configure CC = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / arm-apple-darwin10-gcc-4.2.1 LD = / Developer / Platforms / iPhoneOS.platform / Developer / usr / bin / ld CCFLAGS =“ - I /开发人员/平台/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 = “-arch armv6 -isysroot /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk”--enable-float --host = arm-apple-darwin --build = arm-apple-darwin10 - 禁用,FORTRAN

当使用这个来构建fftw3时,我总是得到这个:

检查BSD兼容安装... / usr / bin / install -c检查构建环境是否健全...是检查arm-apple-darwin-strip ...没有检查strip ... strip配置:警告:使用交叉工具没有前缀主机三联检查线程安全的mkdir -p ... ./install-sh -c -d检查gawk ...没有检查mawk ...没有检查nawk .. 。awk检查是否make sets $(MAKE)...是检查是否启用Makefile的特定维护者部分...不检查构建系统类型... 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编译器工作...没有配置:错误:在/Users/chencyz/Desktop/Development/Misc/fftw3/fftw-3.3': configure: error: C compiler cannot create executables See config.log'以获取更多详细信息

我不太清楚这个问题(C编译器不工作?),任何人都可以给我一些指南,非常感谢!


根据./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,然后用正确的PATH,CFLAGS,LDFLAGS等替换来执行configure。

这似乎工作:

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

祝你好运。


在尝试为iOS编写可爱编辑器时,我遇到了类似的问题。 看看配置脚本,它似乎没有使用$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编译器的调用,但是,您的里程可能会有所不同。

链接地址: http://www.djcxy.com/p/52449.html

上一篇: how to compile fftw3 on iOS

下一篇: Zxing with Xcode 4