网站首页 > 开源技术 正文
一、准备
1.visual studio 2022
https://visualstudio.microsoft.com/zh-hans/downloads/
2.swigwin-4.0.2
https://sourceforge.net/projects/swig/files/swigwin/swigwin-4.0.2/swigwin-4.0.2.zip
3.PJSIP 2.12.1 源码
https://github.com/pjsip/pjproject/archive/refs/tags/2.12.1.zip
二、编译
1.使用VS2022打开pjproject-vs14.sln
2.在pjlib\include\pj目录下添加空文件config_site.h
3.设置解决方案平台 Win32
4.cmd 定位到源码路径 pjsip-apps\src\swig\csharp,使用“SWIG”为 PJSUA2 库生成C#包装器
swig -I../../../../pjlib/include -I../../../../pjlib-util/include -I../../../../pjmedia/include -I../../../../pjsip/include -I../../../../pjnath/include -w312 -c++ -csharp -o pjsua2_wrap.cpp ../pjsua2.i
4.创建C++动态链接库,并添加对“libpjproject”和“pjsua2_lib”的引用
5.pjsua2项目属性中
常规->输出目录
.\output\$(ProjectName)-$(TargetCPU)-$(PlatformName)-vc$(VSVer)-$(Configuration)\
C/C++ -> 常规 -> 附加包含目录
../pjsip/include;../pjlib/include;../pjlib-util/include;../pjmedia/include;../pjnath/include;%(AdditionalIncludeDirectories);
C/C++ -> 预编译头 -> 预编译头:不使用预编译头
C/C++ -> 代码生成 -> 运行库:多线程调试 (/MTd)
链接器-> 输入-> 附加依赖项
Iphlpapi.lib;dsound.lib;dxguid.lib;netapi32.lib;mswsock.lib;ws2_32.lib;odbc32.lib;odbccp32.lib;ole32.lib;user32.lib;gdi32.lib;advapi32.lib;%(AdditionalDependencies)
链接器-> 输入 -> 忽略特定默认库
msvcrt.lib;%(IgnoreSpecificDefaultLibraries)
复制 pjsip-apps\src\swig\csharp目录中的pjsua2_wrap.cpp文件以及头文件pjsua2_wrap.h到项目pjsua2中,并生成pjsua2
6.生成pjsua2项目成功
7.添加新项目C#控制台应用pjsua2_net,并复制pjsip-apps\src\swig\csharp的cs文件至项目pjsua2_net中.修改 PJMEDIA_FORMAT_INVALID = 0xFFFFFFFF,为 PJMEDIA_FORMAT_INVALID = -1
8.设置pjsua2_net项目的项目依赖项为 pjsua2
9.编码测试代码和voip配置
static void Main(string[] args)
{
sample sp= new sample();
sp.test1();
}
10.调试成功.
猜你喜欢
- 2024-10-17 123456(123456铁路官网下载)
- 2024-10-17 魔兽世界怀旧服黑科技:双子监控打虫子
- 2024-10-17 巫妖王来袭!九职业巫妖王卡组分享
- 2024-10-17 解决芯片互连卡脖子问题:CMOS片上光电互连速度突破2Tb/s
- 2024-10-17 编程语言排名@2022(编程语言排名verilog)
- 2024-10-17 NAT穿透技术及开源工具(nat4穿透)
- 2024-10-17 网易云信CTO阙杭宁:如何保障十万不同应用的通讯稳定与实时性
- 2024-10-17 融合通信功能配置示例-1-如何快速批量添加SIP分机
- 2024-10-17 FreePBX实现SIP/WebRTC和PSTN设备对接完整流程
- 2024-10-17 PJSIP集成G729 (vs2022版)(集成块sp7623hp代换)
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- jdk (81)
- putty (66)
- rufus (78)
- 内网穿透 (89)
- okhttp (70)
- powertoys (74)
- windowsterminal (81)
- netcat (65)
- ghostscript (65)
- veracrypt (65)
- asp.netcore (70)
- wrk (67)
- aspose.words (80)
- itk (80)
- ajaxfileupload.js (66)
- sqlhelper (67)
- express.js (67)
- phpmailer (67)
- xjar (70)
- redisclient (78)
- wakeonlan (66)
- tinygo (85)
- startbbs (72)
- webftp (82)
- vsvim (79)
本文暂时没有评论,来添加一个吧(●'◡'●)