pjsip编译及使用说明
2013-01-20 01:47
232 查看
pjsip编译及使用说明
当前使用的 pjproject 版本为1.5.5,开发环境为VC6,其它VS高级版本应该类似一、编译前准备
首先生成文件 pjlib/include/pj/config_site.h,即使内容为空也可以,具体使用方法参见同一目录下的 config_site_sample.h
二、开发环境需求
1、添加微软的 Platform SDK 和 DirectX9 SDK 到VC6中的Include和Lib目录下,完成后的目录顺序如下:
Platform SDK 版本为2003,由微软官网下载
DirectX9 SDK 版本为 Update (February 2005),下载地址为
http://download.microsoft.com/download/a/c/d/acdfb557-266f-4af4-8673-6ab8009b4ddd/dxsdk_apr2005.exe
[Include files]
D:\Develop\DirectX9SDK\Include
D:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
D:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
D:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
D:\Develop\PlatformSDK\include
[Library files]
D:\Develop\DirectX9SDK\Lib\x86
D:\Develop\PlatformSDK\Lib
D:\Program Files\Microsoft Visual Studio\VC98\LIB
D:\Program Files\Microsoft Visual Studio\VC98\MFC\LIB
2、若要支持 TLS,则还需添加 OpenSSL 开发包,考虑到目前还用不着这一块,暂未添加
三、编译
打开工程目录下的 pjproject.dsw,设 pjsua 为活动工程,分别编译其Debug和Release版本。成功后,各个库分别生成在相应目录下,为方便以后的使用,可将这些LIB库分别复制到工程根目录下的LIB目录中。利用下面的批处理来快速获取:
copy ..\pjlib\lib\*.lib *.lib
copy ..\pjlib-util\lib\*.lib *.lib
copy ..\pjnath\lib\*.lib *.lib
copy ..\pjmedia\lib\*.lib *.lib
copy ..\pjsip\lib\*.lib *.lib
copy ..\third_party\lib\*.lib *.lib
若要编译例子程序,则设 samples 为活动工程,分别编译其Debug和Release版本。成功后,则会生成在目录 pjsip-apps/bin/samples 下
四、使用
1、为提高工程在不同PC上编译时的可移植性,要在工程选项(而非开发环境)中添加包含目录(当前假设应用程序目录和 pjproject 在同一目录下)
* 以下头文件目录放在 C/C++ / Preprocessor / Additional include directories 下:
../pjproject/pjlib/include,../pjproject/pjlib-util/include,../pjproject/pjnath/include,../pjproject/pjmedia/include,../pjproject/pjsip/include
* 以下LIB库目录放在 Link / General / Object/library modules 下:
../pjproject/lib/*vc6-debug.lib 或 ../pjproject/lib/*vc6-release.lib
2、在程序源文件中添加相应的头文件,根据实际需要添加,以下包含了PJ库导出的全部API
#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>
3、在工程选项中添加宏定义 PJ_WIN32=1,切记不能在源文件中添加
4、在工程选项中链接系统的Lib库,如 IPHlpApi.lib wsock32.lib ws2_32.lib ole32.lib dsound.lib
5、值得注意的是,发布不同版本需要依赖不同的底层库,如下所示
Debug: multithreaded, statically linked with LIBC,(i.e. the /MTd flag)
Release: multithreaded, dynamically linked with MSVCRT,(i.e. the /MD flag)
http://hi.baidu.com/flowstar/item/44d12c05fa989c354bc4a319
相关文章推荐
- pjsip编译及使用说明
- PJSIP编译与使用说明
- pjsip编译及使用说明
- mysql之编译安装mysql,以及mysql mysqladmin工具的使用说明。
- 在linux下qt中使用pjsip编译成功
- sqlite3编译使用说明
- Android:apk编译工具_baksmali和smali的使用说明和介绍
- PJSIP——Linux编译库并使用
- 入门:编译,使用PJSIP,PJMEDIA【译】
- 本文是关于使用C++调用Matlab编译生成的Dll的说明
- nginx的yum安装,基本参数使用,编译参数说明和Nginx基本配置,模块安装
- 在MAC 10.5.5 上 编译给 iPhoneOS2_X 使用的 pjsip 和 siphone
- 使用cmake gui 生成cpp-netlib vs2013项目并编译说明
- 对于C++中头文件内使用条件编译的说明
- VC中如何正确使用预编译,命令窗口使用说明
- pjsip使用最新源码编译 for android
- VS2015使用pjsip库编译一个helloworld工程
- pjsip的编译及简单使用
- 编译原理及实践 课本代码的使用说明
- pjsip的编译及简单使用