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

作者:Mike_Zhang 时间:2021-06-04 08:12:13 

环境:
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.lib 为python39.lib

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

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

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

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

5、添加额外lib库,防止链接出错
文件 : _pjsua.c
添加代码:
#pragma comment(lib, "msvcrtd.lib")
#pragma 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 目录下/Lib/site-packages目录下
或者放在需要引用的目录里面

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

7、测试

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

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

8、相关资源

python3.9_x64

python3-pjsua.7z

源码及预编译文件

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

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

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

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

来源:https://www.cnblogs.com/MikeZhang/p/win10py3pjsua-20211010.html

标签:python3,pjsua,win10
0
投稿

猜你喜欢

  • 详解vue-cli本地环境API代理设置和解决跨域

    2024-05-02 16:23:30
  • golang简单位运算示例

    2024-02-08 18:53:48
  • 利用Python制作一个MOOC公开课下载器

    2022-03-13 19:46:17
  • python计算圆周率pi的方法

    2022-09-24 21:08:14
  • 详解vue配置请求多个服务端解决方案

    2024-05-05 09:06:11
  • python三元运算符实现方法

    2022-08-19 23:11:34
  • Python实现求解括号匹配问题的方法

    2023-08-02 08:05:47
  • Python实现邮件发送的详细设置方法(遇到问题)

    2023-10-05 23:03:00
  • 实现Python3数组旋转的3种算法实例

    2021-11-12 04:23:10
  • unittest+coverage单元测试代码覆盖操作实例详解

    2021-10-09 09:32:24
  • pytorch 膨胀算法实现大眼效果

    2022-10-25 18:19:51
  • IE下,事件触发那点破烂事儿

    2009-04-27 12:31:00
  • Python数据类型转换实现方法

    2022-06-04 22:58:39
  • Python 中的 import 机制之实现远程导入模块

    2022-10-24 10:25:10
  • 深入解析Golang中JSON的编码与解码

    2023-07-04 12:45:32
  • SQL 多条件查询几种实现方法详细介绍

    2024-01-16 23:12:31
  • node.js使用免费的阿里云ip查询获取ip所在地【推荐】

    2024-05-13 09:30:23
  • MySQL 移动数据目录后启动失败问题解决

    2024-01-23 02:45:42
  • python读文件保存到字典,修改字典并写入新文件的实例

    2021-09-19 05:37:57
  • Python设计模式之工厂模式简单示例

    2022-10-06 13:22:38
  • asp之家 网络编程 m.aspxhome.com