编译linphone代码时遇到问题。我已经采用了 linphone-iphone 的git克隆,当我试图在xcode中打开它时,我看到所有框架和其他代码缺失(红色)。我已经安装了linphone的README文件中指定的所有端口,但仍然缺少所有框架。我也尝试谷歌,但没有用。
>
我是SIP / linphone的新手,这个问题让我发疯。任何人都可以帮我解决这个问题,并告诉我进一步的方向。
由于 Gurpreet
答案 0 :(得分:2)
我能够使用README文件中的指令让应用程序在昨天编译。我不确定自从您上次获得代码后是否已更新这些代码但现在可以正常工作。一个技巧是确保不将代码签出到其中有空格的路径中。例如:/ Users / NAME / Documents / Folder with Space / git / linphone-iphone就不好了。
除此之外,我确保建立linphone目标,而不是linphone-no-gpl-thirdparties,但那是因为我不介意gpl。他们的网站目前似乎正在重构,所以我在这里复制了他们的自述文件:
LINPHONE ON IPHONE
******************************************
建立预备
iPhone的Linphone取决于liblinphone sdk。此SDK由makefile和shell脚本生成。 您必须先安装带有iPhone OS SDK的xcode和MacPorts(www.macports.org),才能使这些脚本正常工作。
安装xccode和macport后,打开终端并使用以下命令安装所需的构建时工具:
$ sudo port install nawk coreutils automake autoconf libtool intltool wget pkgconfig cmake yasm doxygen
安装gas-preprosessor.pl(http://github.com/yuvi/gas-preprocessor/)以复制到/ opt / local / bin中:
$ wget --no-check-certificate https://raw.github.com/yuvi/gas-preprocessor/master/gas-preprocessor.pl
$ sudo mv gas-preprocessor.pl /opt/local/bin/.
$ sudo chmod +x /opt/local/bin/gas-preprocessor.pl
将macport libtoolize链接到glibtoolize
$ sudo ln -s /opt/local/bin/glibtoolize /opt/local/bin/libtoolize
将主机的字符串链接到模拟器SDK
$ ln -s /usr/bin/strings /Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/strings
构建SDK
这个sdk可以生成两种口味。 Firt与GPL第三方有关,这意味着liblinphone包括GMP第三方,如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 non GPL模式,请执行以下操作: $ cd子模块/构建 $ make all enable_gpl_third_parties = no
生成的sdk位于liblinphone-sdk /目录中。
如果您升级IOS SDK,可以通过执行来强制重建所有内容 $ make veryclean $ make all
构建应用程序
构建SDK后,只需用Xcode打开linphone xcode项目,然后按“运行”。
liblinphone-sdk使用第三方代码进行编译,这些代码需要获得专利许可,特别是:AMR,SILK和X264编解码器。 由于位于xcode项目中的预处理器宏HAVE_SILK,HAVE_AMR,HAVE_X264,Linphone控制这些编解码器的嵌入。 在最终应用程序中嵌入这3个编解码器之前,请确保有权这样做。
限制,已知的错误