开发者

关于windos10环境下编译python3版pjsua库的问题

开发者 https://www.devze.com 2022-12-02 13:02 出处:网络 作者: Mike_Zhang
环境: windows10_x64 python3.9_x64 pjsua-2.10 vs2015 编程客栈pjsua编译参考这里: https://www.jb51.net/article/225189.htm

环境:

windows10_x64

python3.9_x64

pjsua-2.10

vs2015

编程客栈

pjsua编译参考这里: https://www.jb51.net/article/225189.htm

pjsua默认绑定的python版本是python 2.4,使用起来有诸多限制,希望可以使用python3调用pjsua的库实现软电话的基础功能。

编译python_pjsua

1、替换代码

官方给的代码不支持python3,需要使用第三方代码:

https://github.com/mgwilliams/python3-pjsip.git

下载之后,替换该目录 pjsip-apps/src/python

2、修改配置

为防止后续报错,打开 pjsip-apps\src\python\_pjsua.def文件,将init_pjsua改为PyInit__pjsua

3、添加python3编译依赖

打开项目选择,python_pjsua 右键-属性

添加include路径

关于windos10环境下编译python3版pjsua库的问题

添加lib依赖

关于windos10环境下编译python3版pjsua库的问题

修改依赖项 python24.lCrhYVsRib 为python39.lib

关于windos10环境下编译python3版pjsua库的问题

4、如果报错LNK1112: 模块计算机类型“x64”与目标计算机类型“x86”冲突

修改链接器里面的Target Machine为X64,需要注意同步修改依赖。

关于windos10环境下编译python3版pjsua库的问题

5、添加额外lib库,防止链接出错

文件 : _pjsua.c

添加代码:

#pragma comment(lib, "msvcrtd.lib")

#prCrhYVsRagma comment(lib, "vcruntimed.lib")

#pragma comment(lib, "ucrtd.lib")

#pragma comment(lib, "ole32.lib")

6、执行编译

成功后再pjsip-apps/lib目录下有_pjsua.pyd文件,将其与pjsip-apps/src/python/pjsua.py文件一起放到python3.9 目录下CrhYVsR/Lib/site-packages目录下

或者放在需要引用的目录里面

关于windos10环境下编译python3版pjsua库的问题

7、测试

关于windos10环境下编译python3版pjsua库的问题

关于windos10环境下编译python3版pjsua库的问题

关于windos10环境下编译python3版pjsua库的问题

8、相关资源

python3.9_x64

python3-pjsua.7z

源码及预编译文http://www.cppcns.com件

关于windos10环境下编译python3版pjsua库的问题

关于windos10环境下编译python3版pjsua库的问题

本文涉及完整代码及资源下载地址:

http://xiazai.jb51.net/202110/yuanma/python_jb51.rar

到此这篇关于windos10环境下编译python3版pjsua库的文章就介绍到这了,更多相关python3编译pjsua库内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号