我正在尝试将 FFTW3(用 C 编写的 GNU FFT 库,http: //www.fftw.org/ )集成到 iPhone 应用程序中。我下载了源代码,发现有数百个 .h 和 .c 文件以及许多我无法识别的其他文件。我不是 linux 专家,所以我不太了解 .configure 文件和其他类似文件是如何工作的。而且由于没有filename.xcodeproj这样的文件,我需要自己设置XCode项目。
我想知道的是: 如何在 XCode 中获取文件并编译它们而不会出错?有什么经验或技巧吗?
请注意,如果您在应用程序中包含此库的 GPL 版本,则需要在 GPL 许可下使您自己的应用程序的源代码可用。看来您可以从 MIT 购买许可证,以将此库合并到非免费应用程序中。
如果您愿意为您的应用程序等待 iPhone OS 4,您将能够使用Accelerate 框架(链接到 Mac 实现,但与 iPhone 大体相同)。在这个框架的 vDSP 部分中是 FFT 操作。根据 Apple 的说法,这些在 iPhone 上比 FFTW 库高出 5 倍。
我建议你看看 Kissfft。它比 FFTW 小得多,拥有 BSD 许可证,并且能够执行定点 FFT(AFAIK,iphone 缺少浮点单元)。
我在这里提供了一个用于将 fftw3 编译成静态库以用于 iOS 项目的脚本:fftw3 static library for iOS