如何将 FFTW3 集成到 iPhone 应用程序中?
我正在尝试集成 FFTW3 (用 C 编写的 GNU FFT 库, http://www.fftw.org/ )到 iPhone 应用程序中。我下载了源代码,发现有数百个 .h 和 .c 文件以及许多我无法识别的其他文件。我不是 Linux 专家,所以我不太了解 .configure 文件和其他类似文件的工作原理。由于没有 filename.xcodeproj 这样的文件,我需要自己设置 XCode 项目。
我想知道的是: 如何获取 XCode 中的文件并编译而不出错?有什么经验或建议吗?
I'm trying to integrate the FFTW3 (a GNU FFT library written in C, http://www.fftw.org/) into an iPhone app. I downloaded the source code and I found there are hundreds of .h and .c files along with a lot of other files I can't recognize. I'm not a linux expert so I don't really understand how the .configure file and other similar files work. And since there is no such file as filename.xcodeproj, I need to set up the XCode project myself.
The thing I want to know is:
How can I get the files in XCode and compile them without error? Any experience or tips?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
请注意,如果您在应用程序中包含此库的 GPL 版本,则需要在 GPL 许可证下提供您自己的应用程序的源代码。看来您可以从 MIT 购买许可证,将该库合并到非免费应用程序中。
如果您愿意等待 iPhone OS 4 为您的应用程序提供支持,您将能够使用 Accelerate 框架 (链接指向 Mac 实现,但与 iPhone 基本相同)。该框架的 vDSP 部分包含 FFT 运算。据 Apple 称,它们在 iPhone 上的性能比 FFTW 库高出 5 倍。
Note that if you include the GPL version of this library in your application, you will need to make the source code of your own application available under the GPL license. It appears that you can buy a license from MIT to incorporate this library within a non-free application.
If you are willing to wait for iPhone OS 4 for your application, you will be able to use the Accelerate framework (link is to Mac implementation, but much is the same with the iPhone). Within the vDSP portion of this framework are FFT operations. According to Apple, these beat the FFTW library by up to 5x on the iPhone.
我建议你看看 kissfft。它比 FFTW 小得多,拥有 BSD 许可证,并且能够执行定点 FFT(据我所知,iphone 缺乏浮点单元)。
I recommend you take a look at kissfft. It is much smaller than FFTW, has a BSD license, and is capable of performing fixed point FFTs (AFAIK, iphones lack floating point units).
我在这里提供了一个用于将 fftw3 编译成静态库以在 iOS 项目中使用的脚本: 适用于 iOS 的 fftw3 静态库
I provided a script for compiling fftw3 into a static library for use in iOS projects here: fftw3 static library for iOS