搜索
首页数据库mysql教程在MAC 10.5.5 上 编译给 iPhoneOS2

Compilation guide for pjsip on iPhone OS 2.X. Introduction This article describes the steps to generate pjsip on Mac OS X 10.5.5 Details Get pjsip source code Get PjSIP from subversion repository: svn checkout http : //svn.pjsip.org/repos/

Compilation guide for pjsip on iPhone OS 2.X.

Introduction

This article describes the steps to generate pjsip on Mac OS X 10.5.5

Details

Get pjsip source code

Get PjSIP from subversion repository:

<span><span>svn checkout http</span>
<span>:</span>
<span>//svn.pjsip.org/repos/pjproject/trunk pjproject</span>
</span>

Modify some files

aconfigure.ac

In aconfigure.ac file add the lines below displayed with '+'. Of course copy without '+' ;-)

<span><span> </span>
<span>if</span>
<span> test </span>
<span>"$enable_sound"</span>

<span>=</span>

<span>"no"</span>
<span>;</span>

<span>then</span>
</span>
<span><br>
<span>   </span>
</span>
<span><span>true</span>
<span>;</span>
</span>
<span><br>
<span> </span>
</span>
<span><span>else</span>
</span>
<span><br>
<span>  </span>
</span>
<span><span>case</span>
<span> $target </span>
<span>in</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>   arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin</span>
<span>*)</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>        LIBS</span>
<span>=</span>
<span>"$LIBS -framework CoreAudio -framework CoreFoundation -framework AudioToolbox"</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>        ac_pjmedia_snd</span>
<span>=</span>
</span>
<span><span>iphone<br>
</span>
<span>+</span>
<span>        AC_MSG_RESULT</span>
<span>([</span>
<span>Checking</span>
<span> sound device backend</span>
<span>...</span>

<span>AudioQueue</span>
<span>])</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>        </span>
<span>;;</span>
</span>
<span><br>
<span>   </span>
</span>
<span><span>*</span>
<span>darwin</span>
<span>*)</span>
</span>
<span><br>
<span>        LIBS</span>
</span>
<span><span>=</span>
<span>"$LIBS -framework CoreAudio -framework CoreServices -framework AudioUnit -framework AudioToolbox"</span>
</span>
<span><br>
<span>        </span>
</span>
<span><span>if</span>
<span> test </span>
<span>"`uname -r`"</span>

<span>=</span>

<span>"6.8"</span>
<span>;</span>

<span>then</span>
</span>

build/rules.mak

In rules.mak modify, remove lines with '-' and add lines with '+':

<span><span> $</span>
<span>(</span>
<span>LIB</span>
<span>):</span>
<span> $</span>
<span>(</span>
<span>OBJDIRS</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>OBJS</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>$</span>
<span>(</span>
<span>APP</span>
<span>)</span>
<span>_EXTRA_DEP</span>
<span>)</span>
</span>
<span><br>
<span>        </span>
</span>
<span><span>if</span>
<span> test </span>
<span>!</span>

<span>-</span>
<span>d $</span>
<span>(</span>
<span>LIBDIR</span>
<span>);</span>

<span>then</span>
<span> $</span>
<span>(</span>
<span>subst </span>
<span>@@,</span>
<span>$</span>
<span>(</span>
<span>subst </span>
<span>/,</span>
<span>$</span>
<span>(</span>
<span>HOST_PSEP</span>
<span>),</span>
<span>$</span>
<span>(</span>
<span>LIBDIR</span>
<span>)),</span>
<span>$</span>
<span>(</span>
<span>HOST_MKDIR</span>
<span>));</span>

<span>fi</span>
</span>
<span><br>
</span>
<span><span>-</span>
<span>       $</span>
<span>(</span>
<span>AR</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>LIB</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>OBJS</span>
<span>)</span>
</span>
<span><br>
</span>
<span><span>-</span>
<span>       $</span>
<span>(</span>
<span>RANLIB</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>LIB</span>
<span>)</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>       $</span>
<span>(</span>
<span>RANLIB</span>
<span>)</span>

<span>-</span>
<span>static</span>

<span>-</span>
<span>o $</span>
<span>(</span>
<span>LIB</span>
<span>)</span>
<span> $</span>
<span>(</span>
<span>OBJS</span>
<span>)</span>
</span>

pjlib/include/pj/compat/os_darwinos.h

In os_darwinos.h find and comment the following lines :

<span><span>/*<br>
 * Socket related<br>
 */</span>
</span>
<span><br>
</span>
<span><span>//typedef int socklen_t;</span>
</span>

Without this, you will get an error when you will compile, because socklen_t is redefined.

pjlib/include/pj/config_site.h

It can be necessary to define some macro. For example :

<span><span>#undef PJ_HAS_FLOATING_POINT</span>
</span>
<span><br>
</span>
<span><span>#define PJ_HAS_FLOATING_POINT   1</span>
</span>
<span><br>
<br>
</span>
<span><span>/* SRTP has not been ported to iPhone yet */</span>
</span>
<span><br>
</span>
<span><span>#   undef PJMEDIA_HAS_SRTP</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_SRTP             0</span>
</span>
<span><br>
<br>
</span>
<span><span>/* Disable some codecs for now */</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_GSM_CODEC        1</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_L16_CODEC        0</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_ILBC_CODEC       0</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_SPEEX_CODEC      0</span>
</span>
<span><br>
</span>
<span><span>#   define PJMEDIA_HAS_G722_CODEC       0</span>
</span>

pjmedia/build/os-auto.mak.in

In os-auto.mak.in , add the line with '+'

<span><span> </span>
<span>#   - ds:              Win32 DirectSound (dsound.c)</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>#   - iphone:       iPhone AudioQueue (iphonesound.c)</span>
</span>
<span><br>
<span> </span>
</span>
<span><span>#   - null:            Null sound device (nullsound.c)</span>
</span>

Add the line below, for example between "Win 32 Direct Sound" and " Null Sound Device"

<span><span>#</span>
</span>
<span><br>
</span>
<span><span># iPod/iPhone</span>
</span>
<span><br>
</span>
<span><span>#</span>
</span>
<span><br>
<span>ifeq </span>
</span>
<span><span>(</span>
<span>$</span>
<span>(</span>
<span>AC_PJMEDIA_SND</span>
<span>),</span>
<span>iphone</span>
<span>)</span>
</span>
<span><br>
</span>
<span><span>export</span>
<span> SOUND_OBJS </span>
<span>=</span>
<span> iphonesound</span>
<span>.</span>
</span>
<span><span>o<br>
</span>
<span>export</span>
<span> CFLAGS </span>
<span>+=</span>

<span>-</span>
<span>DPJMEDIA_SOUND_IMPLEMENTATION</span>
<span>=</span>
</span>
<span><span>PJMEDIA_SOUND_IPHONE_SOUND<br>
endif<br>
</span>
</span>

We have defined a new target for sound device.

pjmedia/include/pjmedia/config.h

in config.h add the lines below with '+':

<span><span> </span>
<span>/** Constant for Win32 MME sound backend. */</span>
</span>
<span><br>
<span> </span>
</span>
<span><span>#define PJMEDIA_SOUND_WIN32_MME_SOUND      3</span>
</span>
<span><br>
<br>
</span>
<span><span>+</span>
<span>/** Constant for AudioQueue sound backend. */</span>
</span>
<span><br>
</span>
<span><span>+</span>
<span>#define PJMEDIA_SOUND_IPHONE_SOUND            4</span>
</span>

pjmedia/src/pjmedia

For the moment I didn't upload iphonesound.c so we need to compile with null_sound.

Configuration

Generate configuration script

<span><span>autoconf aconfigure</span>
<span>.</span>
<span>ac </span>
<span>></span>
<span> aconfigure</span>
</span>

Compilation

iPhone SDK doesn't provide some programs without version number, so we create symbolic link. We should test before create link, but we are very lazy. Copy the lines below in file with name like compile.sh in the root of pjsip.

<span><span>#!/bin/sh</span>
</span>
<span><br>
<br>
</span>
<span><span>export</span>
<span> DEV</span>
<span>=</span>
<span>/Developer/</span>
<span>Platforms</span>
<span>/</span>
<span>iPhoneOS</span>
<span>.</span>
<span>platform</span>
<span>/</span>
<span>Developer</span>
</span>
<span><br>
</span>
<span><span>export</span>
<span> SDK</span>
<span>=</span>
<span>$</span>
<span>{</span>
<span>DEV</span>
<span>}/</span>
<span>SDKs</span>
<span>/</span>
<span>iPhoneOS2</span>
<span>.</span>
<span>1.sdk</span>
</span>
<span><br>
<br>
<span>pushd $</span>
</span>
<span><span>{</span>
<span>DEV</span>
<span>}/</span>
<span>usr</span>
<span>/</span>
</span>
<span><span>bin<br>
ln </span>
<span>-</span>
<span>s arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9</span>
<span>-</span>
<span>gcc</span>
<span>-</span>
<span>4.0</span>
<span>.</span>
<span>1</span>
<span> arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9</span>
<span>-</span>
</span>
<span><span>gcc<br>
ln </span>
<span>-</span>
<span>s arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9</span>
<span>-</span>
<span>g</span>
<span>++-</span>
<span>4.0</span>
<span>.</span>
<span>1</span>
<span> arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9</span>
<span>-</span>
<span>g</span>
<span>++</span>
</span>
<span><br>
<span>ln </span>
</span>
<span><span>-</span>
<span>s ranlib arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9</span>
<span>-</span>
</span>
<span><span>ranlib<br>
popd<br>
<br>
</span>
<span>export</span>
<span> PATH</span>
<span>=</span>
<span>$</span>
<span>{</span>
<span>DEV</span>
<span>}/</span>
<span>usr</span>
<span>/</span>
<span>bin</span>
<span>:</span>
<span>$</span>
<span>{</span>
<span>PATH</span>
<span>}</span>
</span>
<span><br>
<br>
</span>
<span><span>export</span>
<span> CFLAGS</span>
<span>=</span>
<span>"-O2 -arch armv6 -isysroot ${SDK}"</span>
</span>
<span><br>
<br>
</span>
<span><span>export</span>
<span> LDFLAGS</span>
<span>=</span>
<span>"-O2 -arch armv6 -isysroot ${SDK}"</span>
</span>
<span><br>
<br>
</span>
<span><span>export</span>
<span> CPP</span>
<span>=</span>
<span>"${DEV}/usr/bin/cpp"</span>
</span>
<span><br>
<br>
</span>
<span><span>./</span>
<span>aconfigure </span>
<span>--</span>
<span>host</span>
<span>=</span>
<span>arm</span>
<span>-</span>
<span>apple</span>
<span>-</span>
<span>darwin9 </span>
<span>--</span>
<span>disable</span>
<span>-</span>
<span>speex</span>
<span>-</span>
<span>aec </span>
<span>/</span>
</span>
<span><br>
<span>   </span>
</span>
<span><span>--</span>
<span>disable</span>
<span>-</span>
<span>speex</span>
<span>-</span>
<span>codec </span>
<span>--</span>
<span>disable</span>
<span>-</span>
<span>l16</span>
<span>-</span>
<span>codec </span>
<span>--</span>
<span>disable</span>
<span>-</span>
<span>g722</span>
<span>-</span>
<span>codec </span>
<span>/</span>
</span>
<span><br>
<span>   </span>
</span>
<span><span>--</span>
<span>disable</span>
<span>-</span>
<span>ilbc</span>
<span>-</span>
<span>codec </span>
<span>--</span>
<span>disable</span>
<span>-</span>
<span>ssl </span>
<span>--</span>
<span>disable</span>
<span>-</span>
</span>
<span><span>sound<br>
<br>
make dep<br>
make</span>
</span>

We must not forget to change access right to allow execution. We can run compile.sh after some minutes pjsip is compiled.

 

Siphon Compilation

Getting siphon source code

Get Siphon from subversion repository:

<span><span>svn checkout http</span>
<span>:</span>
<span>//siphon.googlecode.com/svn/trunk/ siphon-read-only</span>
</span>

Installation pjsip

Create directory to install pjsip in Siphon:

<span><span>mkdir </span>
<span>-</span>
<span>p pjsip</span>
<span>/</span>
</span>
<span><span>include<br>
mkdir </span>
<span>-</span>
<span>p pjsip</span>
<span>/</span>
<span>lib</span>
</span>

Put these pjsip include directories in the pjsip/include path:

  • pjlib/include
  • pjlib-util/include
  • pjmedia/include
  • pjnath/include
  • pjsip/include

Put these pjsip library directories in the pjsip/lib path:

  • pjlib/lib
  • pjlib-util/lib
  • pjmedia/lib
  • pjnath/lib
  • pjsip/lib
  • third_party/lib

Compilation

<span><span>pushd settings<br>
make<br>
popd<br>
pushd src<br>
make<br>
popd</span>
</span>

For installation read the Manual .

 

ManualInstallation  

Manual installation instructions.

Manual Installation

The preferred method of installing Siphon is through the AppTapp Installer . However, if you are unable to or prefer not to use the Installer, you can follow the steps below to install Siphon manually.

NOTE: Siphon requires firmware version 1.1.X.

Manual Installation after compilation

  • Compile Siphon.

The three directories are in 'dist' directory.

  • Copy Siphon.app into /Applications or /Widgets on your device. You may see some error messages during this process, are there are several symbolic links in here that the Installer source would normally deal with. You can safely ignore these errors as we will copy the files manually.
  • Copy SiphonSettings.bundle into /System/Library/PreferenceBundles/SiphonSettings.bundle on your device.
  • Copy SpringBoard.app into /System/Library/CoreServices/SpringBoard.app on your device.

Manual Installation after download

  • Download the last version on this page .
  • Unzip downloaded file in /Applications or /Widgets on your device. You may see some error messages during this process, are there are several symbolic links in here that the Installer source would normally deal with. You can safely ignore these errors as we will copy the files manually.
  • Copy SiphonSettings.bundle into /System/Library/PreferenceBundles/SiphonSettings.bundle on your device.
  • Copy SpringBoard.app into /System/Library/CoreServices/SpringBoard.app on your device.

Last operations

Next, run the following command to complete the installation:

<span><span>/Applications/</span>
<span>Siphon</span>
<span>.</span>
<span>app</span>
<span>/</span>
<span>Siphon</span>

<span>--</span>
<span>installPrefBundle</span>
</span>

Finally, restart the SpringBoard:

<span><span>killall </span>
<span>SpringBoard</span>
</span>

声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
ip与mac绑定什么意思ip与mac绑定什么意思Mar 09, 2023 pm 04:44 PM

ip与mac绑定是指将特定的IP地址与特定的MAC地址关联起来,使得只有使用该MAC地址的设备才能够使用该IP地址进行网络通信。ip与mac绑定可以防止被绑定的主机的IP地址不被假冒,前提条件:1、MAC地址是唯一的,并且不可假冒;只能绑定与路由器直接相连的网络上的主机(也就是主机的网关在路由器上)。

mac版下载是什么意思mac版下载是什么意思Mar 06, 2023 am 09:52 AM

mac版下载的意思是当软件在选择安装时,选择MAC版下载;Windows版和MAC版是两个不同的操作系统,所以大多数软件在选择安装的同时需要选择Windows版还是MAC版。

mac鼠标滚轮相反怎么办mac鼠标滚轮相反怎么办Mar 16, 2023 pm 05:44 PM

mac鼠标滚轮相反的解决办法:1、打开mac电脑,点击屏幕的苹果标志,然后选择“系统偏好设置”;2、在“系统偏好设置”窗口中,选择“鼠标”;3、在“鼠标”窗口中,将“滚动方向:自然”前面的勾去掉即可。

修复文件共享在 MacOS Ventura 中不起作用修复文件共享在 MacOS Ventura 中不起作用Apr 13, 2023 am 11:34 AM

修复 SMB 文件共享在 MacOS Ventura 中不起作用的问题从  Apple 菜单打开 Mac 上的“系统设置”应用程序转到“常规”,然后转到“共享”找到“文件共享”的开关并将其关闭通过转到  Apple 菜单并选择重新启动来重新启动 Mac重新启动后,返回共享系统设置面板并将“文件共享”重新设置为打开位置像往常一样恢复文件共享,它应该按预期工作如果 MacOS Ventura Mac 与另一台 Mac 或设备之间的文件共享突然再次停止工作,您可能需要在几天后或随机重复此过程。

如何防止 Mac 在显示器关闭时进入睡眠状态 (MacOS Ventura)如何防止 Mac 在显示器关闭时进入睡眠状态 (MacOS Ventura)Apr 13, 2023 pm 12:31 PM

显示器关闭时如何防止 Mac 休眠如果您希望 Mac 显示器能够在整个计算机不进入睡眠状态的情况下关闭,请在此处进行适当的设置调整:下拉  Apple 菜单并转到“系统设置”转到“显示”点击“高级...”切换“防止显示器关闭时电源适配器自动休眠”的开关现在 Mac 显示屏可以关闭,同时防止 Mac 本身进入睡眠状态。这可能主要与 Mac 笔记本电脑用户相关,但即使是那些没有 MacBook 的用户也可能会发现该功能很有用。

mac的shift键是哪个键mac的shift键是哪个键Mar 13, 2023 pm 02:20 PM

mac的shift键是fn键上方、caps lock键下方的一个键,该键在键盘最左侧,由右下往上数第2个键;shift键是键盘中的上档转换键,可以通过“Ctrl+Shift”组合键来切换输入法。

mac解压rar用什么软件mac解压rar用什么软件Mar 03, 2023 pm 04:18 PM

mac解压rar的软件:1、The Unarchiver,是一款完全免费、小巧,而且非常易于使用的压缩、解压缩小工具;2、Keka,是一款免费、实用的压缩、解压缩工具,支持解压缩RAR格式的压缩包;3、360压缩大师,是一款免费的压缩、解压缩软件,完全支持RAR文件解压;4、MacZip,支持包括RAR在内的超过20种压缩格式的解压;5、BetterZip;6、FastZip。

fcpx快捷键有哪些fcpx快捷键有哪些Mar 17, 2023 am 10:21 AM

fcpx快捷键有:1、“Command-H”快捷键,用于隐藏应用程序;2、“Option-Command-H”快捷键,用于隐藏其他应用程序;3、“Option-Command-K”快捷键,用于键盘自定;4、“Command-M”快捷键,用于最小化;5、“Command-O”快捷键,用于打开资源库等。

See all articles

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

AI Hentai Generator

AI Hentai Generator

免费生成ai无尽的。

热门文章

R.E.P.O.能量晶体解释及其做什么(黄色晶体)
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳图形设置
3 周前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您听不到任何人,如何修复音频
3 周前By尊渡假赌尊渡假赌尊渡假赌

热工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本

PhpStorm Mac 版本

最新(2018.2.1 )专业的PHP集成开发工具

Atom编辑器mac版下载

Atom编辑器mac版下载

最流行的的开源编辑器

mPDF

mPDF

mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Dreamweaver Mac版

Dreamweaver Mac版

视觉化网页开发工具