本文介绍了WebRTC在iPhone(气预处理器问题)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

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

I'm trying compile the lastest WebRTC version for iPhone. I not need to compile the entire solution, I only need to compile the VAD module.

为了做到这一点,我创建了一个Xcode项目,我试图编译源文件必须的,但我有一个问题与* .s文件及其汇编器。

To do that, I have created a Xcode project and I have tried to compile the source necessary, but I have a problem with the *.s files and its assembler.

像FFMPEG库一样,我知道我必须翻译汇编代码到一个汇编代码,gcc为iPhone理解,但我不知道如何手动这样做。

Like in the FFMPEG library, I know that I must "translate" the assembler code to an assembler code that the gcc for iPhone understand, but I don't know how I do this manually.

我试图创建一个配置文件,并在其中设置as = gas-preprocessor.pl(like in FFMPEG),but does not work。

I have tried to create a configure file and set in it "as=gas-preprocessor.pl" (like in FFMPEG), but does not work.

任何想法?如何手动运行gas-preprocessor.pl?

Any idea? How do I run the gas-preprocessor.pl manually?

谢谢。

推荐答案

我只是在iOS上完成它,并已经建立了NS / VAD / AECM和AGC的独立静态库,提示,并希望您取得成功:

I'm just finishing it on iOS and has built standalone static libraries of NS/VAD/AECM and AGC, here's some tips for you, and hope you success:

1。源文件列表

对于独立的VAD构建,您应该确保您的项目包含所有这些文件(不需要.s文件)没有列出头文件在这里,你会得到一些头文件不能找到错误,只是修复它和东西将完成。)

for standalone VAD build, you should make sure your project has all of these files(no .s file needed), and I'm not listed the header files here, you will get some header file can not be found errors, just fixing it and things will be done.)

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中定义它。

I'm not sure why the Xcode environment does not provide this macro, but it should be defined to ensure that WEBRTC_POSIX is enabled. To define this macro, adding it to a new header file or just define it in the webrtc-header-files.

3。遵循 在iOS上构建和设置WebRTC-VAD模块的静态库

3. Following these steps to build and setup a static library of WebRTC-VAD module on iOS

code>,不要使用LLVM 2.0编译VAD模块(使用GCC或LLVM GCC)。 cus'在编译一些webrtc变量声明时可能会引起很多错误。

notice, do not use LLVM 2.0 to compile the VAD module(use GCC or LLVM GCC). cus' it can throw you lots of errors when compiling some webrtc variable declarations.

4。使用libwebrtc_vad.a

如果你有这么远,事情很容易去,只需包括 webrtc_vad.h 并使用此模块提供的API。和vad在我的情况下正常工作。

if you got this far, things are easy to go, just include webrtc_vad.h and using the API provided by this module. and vad is working fine in my case.

希望我帮助。

这篇关于WebRTC在iPhone(气预处理器问题)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-29 07:18