入门:编译,使用PJSIP,PJMEDIA【译】
来源:互联网 发布:报价驱动市场 知乎 编辑:程序博客网 时间:2024/05/06 10:32
原文地址:http://trac.pjsip.org/repos/wiki/Getting-Started/Windows
入门:在Windows系统上编译相关代码
在本页面中将会向你描述如何在Microsoft Visual Studio编译pjsip类库
1.在Windows上编译前的准备工作
2.必备的一些条件
3.编译项目
4.调试案例程序
5.下一步:在你的项目中使用pjproject类库
6.其他
提示:你也可以使用Gun的一些工具在windows上编译,比如mingw。详细步骤可以在这里查看:Getting Started: Building with GNU Tools/Autoconf。
在Windows中编译的准备工作
1.很重要的一项是创建config_site.h文件,详细情况可以参见编译前的准备
2.如何你还没与原代码,获取代码。
必备的一些条件
在Visual Studio开发的项目文件可以使用如下的一些工具:
- Microsoft Visual Studio 6,
- Microsoft Visual Studio .NET 2002,
- Microsoft Visual Studio .NET 2003,
- Microsoft Visual Studio/C++ 2005 (including Express edition),
- Microsoft Visual Studio 2008. Follow the instructions for Visual Studio 2005.
- 提示:目前还不支持Microsoft Visual Studio 2010 原因是Microsoft Visual Studio 2010不再支持native Windows Mobile开发,因此无法将PJSIP项目导入到其中。不过,你可以使用VS 2010,但是你需要将Windows Mobile相关的内容从PJSIP项目中移除。
另外,还需要下面的SDK:
- 必须:DirectX SDK(在DirectX8,9两个版本中测试通过)。在安装DirectX后,将include files和library添加到Visual Studio.
- 如果没有使用Visual Studio 2008该条可选:Platform SDK(Windows Server 2003 SP1上的Platform测试通过)
- 可选:如何希望支持TLS那么需要OpenSSL development kit。详细:Installing OpenSSL Libraries on Windows.
提示:尽管Visual Studio 6自身带有Platform SDK,但还是需要新的Platform SDK。因为新的PJNATH类库需要新的Platform SDK中的Iphlpapi.[h|lib]。
电脑配置需要:
- Windows NT, 2000, XP, 2003, 或者更新的版本,
- Windows 95/98可能也可以正常工作,不过没有经过测试,
- 有足够的内存用于编译
编译项目
按下面的步骤在Visual Studio编译类库和应用程序:
- Visual Studio 6/2002/2003:打开工作空间文件pjproject.dsw
- Visual Studio 8 (VS 2005):打开解决方案文件pjproject-vs8.sln
- 将pjsua设置为活动项目
- 将平台类型设置为Win32
- 选择合适的编译类型Debug或者Release
- 编译项目。会编译pjsua应用程序以及其需要的pjsua需要的类库
- 编译成功后,将会在pjsip-apps/bin文件夹中生成pjsua应用程序,其他的类库文件会生成在各自的项目中。
编译例子:
- (选择和上面相同的工作空间)
- 设置案例项目为活动项目
- 选择合适的编译类型Debug或者Release,从这Visual Studio Build Configuration可以查看编译选项的作用。
- 编译项目,在编译项目的同时也会编译项目所需要的类库。
- 编译成功后,将会在pjsip-apps/bin/samples文件夹中生成案例程序,其他的类库文件在各自的项目中。
调试案例程序
如何使用Samples.mak的makefile文件编译案例程序,那么将很难在Visual Studio调试这些应用程序。解决方法是,pjsip_apps工作空间包含有一个叫sample_debug的项目可用于调试案例程序。
如何使用sample_debug项目调试程序:
- 设置sample_debug为活动项目
- 编译项目中的debug.c文件
- 在#include行包含需要进行调试的案例程序
- 选择Debug编译类型
- 编译并调试项目
下一步:在你的项目中使用pjproject类库
1.在你的项目中搜索路径中包含如下include目录
- pjlib/include
- pjlib-util/include
- pjnath/include
- pjmedia/include
- pjsip/include
2.将类库目录(位于pjproject源码的根目录)设置到类库搜索路径中
3.将有关PJ的头文件包含于源码文件中,例如,下面的写法将包含PJ所有的函数:
- #include <pjlib.h>
- #include <pjlib-util.h>
- #include <pjnath.h>
- #include <pjsip.h>
- #include <pjsip_ua.h>
- #include <pjsip_simple.h>
- #include <pjsua-lib/pjsua.h>
- #include <pjmedia.h>
- #include <pjmedia-codec.h>
提示:在文档中你可以找到你所需要功能的API需要包含哪些头文件。
4.在项目设置中定义宏PJ_WIN32=1(可能在源文件中定义这个宏是不够的)。
使用Visual C++创建Windows手机应用程序,我们需要在项目设置中定义宏PJ_WIN32_WINCE=1
5.连接主要的pjproject类库libpjproject。他包含了所需要的所有类库。提示:实际的类库名称取决于目标名称与编译配置参数。比如:实际的类库名称可能类似于libpjproject-i386-win32-vc6-debug.lib,这是由我们使用Debug 或者 Release编译参数决定的。
6.连接项目需要的另外一些类库,比如:wsock32.lib, ws2_32.lib, ole32.lib, dsound.lib
其他:
参见:Getting-Started/Windows/2.0-dev
- 入门:编译,使用PJSIP,PJMEDIA【译】
- PJSIP and PJMEDIA(sig编译错误解决方法)
- pjsip编译与使用
- PJMEDIA
- pjsip学习笔记之一 –pjsip库编译及使用
- pjsip 编译
- pjsip 编译
- pjsip编译
- pjsip编译
- pjsip的编译及简单使用
- pjsip的编译及简单使用
- pjsip的编译及简单使用
- pjsip的编译及简单使用
- pjsip使用最新源码编译 for android
- VC6 中编译使用 pjsip 的工程
- pjsip的编译及简单使用
- pjsip使用最新源码编译 for android
- pjsip在vs2013中编译和使用
- [批处理大放送] Visual Studio 之 VC++ 工程清理和备份
- [原创]我的H.264学习历程
- 你只跟你自己同在一条船上
- 程序员的自我修养读书笔记——目标文件的格式总结
- ARM嵌入式linux MySql移植
- 入门:编译,使用PJSIP,PJMEDIA【译】
- 直流电机(H桥)驱动电路
- 中国互联网视频分析 – 群雄逐鹿
- Javascript 总结
- Boost教程网址链接
- 中国互联网视频分析 – 庐山面目
- H桥电机驱动原理与应用
- 用Gvim建立IDE编程环境 (Windows篇)
- 关于ADO.NET连接池 - 深蓝居 - 博客园