PerKins Zhu

Le vent se lève,il faut tenter de vivre.
随笔 - 86, 文章 - 0, 评论 - 45, 阅读 - 21万

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

freeswitch模块开发—mod_unimrcp 编译及加载(VS2019)

Posted on   PerKins.Zhu  阅读(6)  评论(0编辑  收藏  举报

一、下载unimrcp-deps-1.6.0源码并生成dll文件

二、 下载unimrcp-1.6.0源码,并进行编译。 unimrcp-1.6.0依赖于unimrcp-deps-1.6.0,因此需要配置头文件和链接库。

保证上面两步编译成功后进行下面操作。

三、下载 mod_unirmrcp源码,并导入解决方案。

  •   配置附加包含目录(可根据编译错误提示逐个增加)
  • 复制代码
    D:\libs\src\unimrcp-1.6.0\libs\apr-toolkit\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcp\message\include
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\apr\include\
    D:\libs\src\unimrcp-1.6.0\libs\mrcp\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-engine\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-client\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-server\include
    D:\libs\src\unimrcp-1.6.0\libs\apr\include\
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\apr-util\include
    D:\libs\src\unimrcp-1.6.0\libs\apr-util\include\
    D:\libs\src\unimrcp-1.6.0\platforms\libunimrcp-client\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-signaling\include
    D:\libs\src\unimrcp-1.6.0\libs\mrcpv2-transport\include\
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-engine\include\
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-server\include\
    D:\libs\src\unimrcp-1.6.0\libs\uni-rtsp\include\
    D:\libs\src\unimrcp-1.6.0\libs\mpf\include\
    D:\libs\src\unimrcp-1.6.0\libs\mrcp\include\
    D:\libs\src\unimrcp-1.6.0\libs\mrcp\resources\include
    D:\libs\src\unimrcp-1.6.0\build
    D:\libs\src\unimrcp-1.6.0\libs\mrcp\control\include
    D:\libs\src\unimrcp-1.6.0\modules\mrcp-sofiasip\include
    D:\libs\src\unimrcp-1.6.0\modules\mrcp-unirtsp\include\
    复制代码

     

  • 配置附加库目录。(可根据提示逐个增加)
  • 复制代码
    D:\libs\src\unimrcp-1.6.0\libs\sofia-sip\win32\libsofia-sip-ua\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\libs\apr-util\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\apr\x64\Debug
    D:\myproject\visualCode\freeswitch\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\x64\Debug\lib
    D:\libs\src\unimrcp-1.6.0\libs\pthread\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\libs\apr\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\libs\apr-toolkit\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-client\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-engine\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-server\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mrcp-signaling\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mpf\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\uni-rtsp\x64\Debug
    D:\libs\src\unimrcp-1.6.0\libs\mrcpv2-transport\x64\Debug
    D:\libs\src\unimrcp-1.6.0\modules\mrcp-sofiasip\x64\Debug
    D:\libs\src\unimrcp-1.6.0\modules\mrcp-unirtsp\x64\Debug
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\apr-util\xml\expat\lib\x64\LibD\
    D:\libs\src\unimrcp-1.6.0\x64\Debug\plugin
    D:\libs\src\unimrcp-1.6.0\x64\Debug\bin
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\sofia-sip\win32\libsofia-sip-ua\x64\Debug
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\apr-util\x64\Debug\
    D:\libs\src\unimrcp-deps-1.6.0_w\unimrcp-deps-1.6.0\libs\apr\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\libs\sofia-sip\win32\pthread\x64\Debug\
    D:\libs\src\unimrcp-1.6.0\libs\apr-util\xml\expat\lib\x64\LibD
    复制代码

     

  • 配置附加依赖项
  • 复制代码
    mrcpv2transport.lib
    pthreadVC2.lib
    unirtsp.lib
    xml.lib
    aprtoolkit.lib
    demorecog.lib
    demosynth.lib
    demoverifier.lib
    libapr-1.lib
    libaprutil-1.lib
    libasrclient.lib
    libsofia_sip_ua.lib
    libunimrcpclient.lib
    libunimrcpserver.lib
    mpf.lib
    mrcp.lib
    mrcpclient.lib
    mrcpengine.lib
    mrcprecorder.lib
    mrcpserver.lib
    mrcpsignaling.lib
    mrcpsofiasip.lib
    mrcpunirtsp.lib
    复制代码

     

  • 通过配置各种依赖的头文件、lib 等能够正常进行mod_unimrcp 连接生成。

四、运行fs并load_unimrcp 。

  如果提示:无法定位程序输入点 apr_pool_Mutex_set于动态链接库mod_unimrcp.dll 等类似找不到dll 找不到函数等问题。

记得借用DependenciesGui 工具来分析 FreeSwitch.dll、mod_unimrcp.dll 等是否有依赖丢失。如果有库文件丢失,则复制如下列表中的文件放在freeswitch\x64\Debug\目录下。

 

复制代码
pthreadVC2.pdb
libapr-1.dll
libapr-1.exp
libapr-1.lib
libapr-1.pdb
libaprutil-1.dll
libaprutil-1.exp
libaprutil-1.lib
libaprutil-1.pdb
libsofia_sip_ua.dll
libsofia_sip_ua.exp
libsofia_sip_ua.lib
libsofia_sip_ua.pdb
pthreadVC2.dll
pthreadVC2.exp
pthreadVC2.lib
复制代码

 

如果还有问题则再考虑把上面的文件放在  freeswitch\x64\Debug\mod\下面进行尝试。

 

相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
点击右上角即可分享
微信分享提示