iPhone中的WebRTC(气体预处理器问题)

时间:2012-10-08 17:21:13

标签: iphone assembly compilation gas webrtc

我正在尝试为iPhone编译最新的WebRTC版本。我不需要编译整个解决方案,我只需要编译VAD模块。

为此,我创建了一个Xcode项目,并尝试编译必要的源代码,但是我的* .s文件及其汇编程序存在问题。

就像在FFMPEG库中一样,我知道我必须将汇编程序代码“转换”为iPhone的gcc所理解的汇编程序代码,但我不知道我是如何手动完成的。

我尝试创建一个配置文件并在其中设置“as = gas-preprocessor.pl”(如在FFMPEG中),但不起作用。

有什么想法吗?如何手动运行gas-preprocessor.pl?

感谢。

2 个答案:

答案 0 :(得分:1)

我刚刚在iOS上完成它,并构建了NS / VAD / AECM和AGC的独立静态库,这里有一些提示,希望您成功:

<强> 1。来源文件列表

对于独立的VAD构建,您应该确保您的项目包含所有这些文件(不需要.s文件),并且我没有在此处列出header files,您将获得一些header file can not be found错误,只是修复它,事情就会完成。)

webrtc_vad.c
vad_core.c
vad_filterbank.c
vad_gmm.c
vad_sp.c
real_fft.c
division_operations.c
complex_bit_reverse.c
cross_correlation.c
complex_fft.c
downsample_fast.c
vector_scaling_operations.c
get_scaling_square.c
energy.c
min_max_operations.c
spl_init.c

<强> 2。添加名为 WEBRTC_MAC

的宏

我不确定为什么Xcode环境不提供此宏,但应定义它以确保启用WEBRTC_POSIX。要定义此宏,请将其添加到新的头文件中,或者只在webrtc-header-files中定义它。

第3。按照 these steps 在iOS上构建和设置WebRTC-VAD模块的静态库

notice,不要使用LLVM 2.0编译VAD模块(使用GCC或LLVM GCC)。 cus'在编译一些webrtc变量声明时会给你带来很多错误。

<强> 4。使用libwebrtc_vad.a

如果你到目前为止,事情很容易,只需要包含webrtc_vad.h并使用此模块提供的API。而vad在我的情况下工作正常。

希望我帮忙。

答案 1 :(得分:0)

尝试检查此链接https://groups.google.com/forum/?fromgroups=#!topic/discuss-webrtc/VJg-fk2-i_0我相信您必须正确设置内联汇编。我也是这样,所以如果你想切换电子邮件或其他东西,请告诉我。