linphone代码编译
我在编译 linphone 代码时遇到问题。我已经获取了 linphone-iphone 的 git 克隆,当我尝试在 xcode 中打开它时,我看到所有框架和其他代码丢失(红色)。我已经安装了 linphone README 文件中指定的所有端口,但仍然缺少所有框架。我也尝试用谷歌搜索,但没有用。
>
我对 SIP/linphone 很陌生,这个问题让我抓狂。任何人都可以帮助我解决这个问题并告诉我进一步进行的方向。
谢谢 古普雷特
I have problem compiling linphone code. I have taken git clone of linphone-iphone and when i am trying to open it in xcode i see all the frameworks and other code missing(in red color). I have installed all ports specified in README file of linphone but still all frameworks are missing. I tried to google also but it was of no use.
>
I am very new to SIP/linphone and this issue is driving me crazy. Can anyone help me to solve this issue and show me directions to proceed further.
Thanks
Gurpreet
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
昨天我能够使用自述文件中的说明编译该应用程序。我不确定自您上次获得代码以来这些是否已更新,但现在它可以工作了。一个技巧是确保您不会将代码检出到其中有空格的路径中。例如: /Users/NAME/Documents/Folder 带有 Space/git/linphone-iphone 会很糟糕。
除此之外,我确保构建 linphone 目标而不是 linphone-no-gpl-thirdparty,但那是因为我不介意 gpl。他们的网站目前似乎正在进行重构,所以我在这里复制了他们的自述文件:
构建先决条件
Linphone for iPhone 依赖于 liblinphone sdk。该 SDK 由 makefile 和 shell 脚本生成。
您必须首先安装带有 iPhone OS SDK 的 xcode 和 MacPorts (www.macports.org) 才能使这些脚本正常工作。
安装 xccode 和 macports 后,打开终端并安装所需的构建时工具:
安装gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/) 并将其复制到 /opt/local /bin :
将 macport libtoolize 链接到 glibtoolize
将主机的字符串链接到模拟器 SDK
构建 SDK
此 sdk 可以以 2 种方式生成。首先是 GPL 第三方,这意味着 liblinphone 包含 GPL 第三方,例如 FFMPEG 或 x264。
如果您选择这种风格,则无论如何您的最终应用程序都必须符合 GPL。这是默认模式。
要以 GPL 模式生成 liblinphone multi arch sdk,请执行以下操作:
$ cd 子模块/构建
$ make all
或者,您可以强制 liblinphone 仅使用非 GPL 代码,liblinphone、mediastremer2、ortp、exosip、osip 除外。
如果您选择这种风格,您的最终应用程序仍然受 GPL 约束,除非您拥有 liblinphone、mediastremer2、ortp、exosip、osip 的商业许可证。
要生成 liblinphone multi arch sdkin 非 GPL 模式,请执行以下操作:
$ cd 子模块/构建
$ make all enable_gpl_third_parties=no
生成的 sdk 位于 liblinphone-sdk/ 目录中。
如果您升级 IOS SDK,您可以通过执行以下操作强制重建所有内容
$ 使非常干净
$ make all
构建应用程序
SDK 构建完成后,只需使用 Xcode 打开 linphone xcode 项目,然后按“运行”。
liblinphone-sdk 使用受专利许可的第三方代码编译,特别是:AMR、SILK 和 X264 编解码器。
Linphone 借助位于 xcode 项目中的预处理器宏 HAVE_SILK、HAVE_AMR、HAVE_X264 来控制这些编解码器的嵌入。
在最终应用程序中嵌入这 3 个编解码器之前,请确保拥有这样做的权利。
限制、已知错误
I was able to get the app to compile yesterday using the instructions inside the README file. I am not sure if those have been updated since you last got the code but now it works. The one trick was to make sure you don't checkout the code into a path which has a space in it. For example: /Users/NAME/Documents/Folder with Space/git/linphone-iphone would be bad.
Other than that, I made sure to build the linphone target and not the linphone-no-gpl-thirdparties but that's because I didn't mind gpl. Their website seems to be going a refactor at the moment so I have copied their readme here:
BUILD PREQUISITES
Linphone for iPhone depends on liblinphone sdk. This SDK is generated from makefiles and shell scripts.
You must first install both xcode with iPhone OS SDK and MacPorts (www.macports.org) for these scripts to work.
Once xccode and macports are installed, open a terminal and install the required build-time tools with:
Install gas-preprosessor.pl (http://github.com/yuvi/gas-preprocessor/ ) to be copied into /opt/local/bin :
Link macport libtoolize to glibtoolize
Link host's strings to simulator SDK
BUILDING THE SDK
This sdk can be generated in 2 flavors. Firt is with GPL third parties, it means liblinphone includes GPL third parties like FFMPEG or x264.
If you choose this flavor, your final application must comply with GPL in any case. This is the default mode.
To generate the liblinphone multi arch sdk in GPL mode, do:
$ cd submodules/build
$ make all
ALTERNATIVELY, you can force liblinphone to use only non GPL code except for liblinphone, mediastremer2, ortp, exosip, osip.
If you choose this flavor, your final application is still subject to GPL except if you have a commercial license for liblinphone, mediastremer2, ortp, exosip, osip.
To generate the liblinphone multi arch sdkin non GPL mode, do:
$ cd submodules/build
$ make all enable_gpl_third_parties=no
The resulting sdk is in liblinphone-sdk/ directory.
In case you upgrade your IOS SDK, you may force rebuilding everything, by doing
$ make veryclean
$ make all
BUILDING THE APPLICATION
After the SDK is built, just open the linphone xcode project with Xcode, and press "Run".
The liblinphone-sdk is compiled with third parties code that are subject to patent license, specially: AMR, SILK and X264 codecs.
Linphone controls the embedding of these codecs thanks to the preprocessor macros HAVE_SILK, HAVE_AMR, HAVE_X264 positioned in xcode project.
Before embeding these 3 codecs in the final application, make sure to have the right to do so.
LIMITATIONS, KNOWN BUGS