環境:
windows10_x64
python3.9_x64
pjsua-2.10
vs2015
pjsua編譯參考這里: http://www.ythuaji.com.cn/article/222154.html
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路徑
添加lib依賴
修改依賴項 python24.lib 為python39.lib
4、如果報錯LNK1112: 模塊計算機類型“x64”與目標計算機類型“x86”沖突
修改鏈接器里面的Target Machine為X64,需要注意同步修改依賴。
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目錄下
或者放在需要引用的目錄里面
7、測試
8、相關資源
python3.9_x64
python3-pjsua.7z
源碼及預編譯文件
本文涉及完整代碼及資源下載地址:
到此這篇關于windos10環境下編譯python3版pjsua庫的文章就介紹到這了,更多相關python3編譯pjsua庫內容請搜索服務器之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持服務器之家!
原文鏈接:https://www.cnblogs.com/MikeZhang/p/win10py3pjsua-20211010.html