繁体   English   中英

如何在iOS上编译fftw3

[英]how to compile fftw3 on iOS

如今,我只想在iOS上使用FFTW3,因为我已将其成功编译为iOS模拟器使用的i386版本,剩下的工作是将其编译为armv6(或v7)版本并将lipo这两个版本一起封装如下是我不正确的配置:

./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 /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.2.sdk/usr/lib/gcc/arm-apple-darwin10/4.2.1/include/ -I / Developer / Platforms / iPhoneOS。平台/开发人员/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 ...不检查剥离...剥离配置:警告:使用不带主机三重前缀的交叉工具检查线程安全的mkdir -p...。/ install-sh -c -d检查gawk ...不检查mawk ...不检查nawk .. 。不检查awk ...检查akk是否设置$(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详细信息, /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等的正确更改执行配置。

这似乎可行:

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进行可爱编译时,我遇到了类似的问题。 查看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编译器调用,但是,您的工作量可能会有所不同。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM