windows10環境下編譯python3版pjsua庫


環境:
windows10_x64
python3.9_x64
pjsua-2.10
vs2015


pjsua編譯參考這里: https://www.cnblogs.com/MikeZhang/p/pjsip20210116.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

源碼及預編譯文件

 

 

本文涉及完整代碼及資源下載地址:

https://pan.baidu.com/s/1n3xcEIZYtPQt9cv70Loffw

可關注微信公眾號(聊聊博文)后回復 2021101001 獲得提取碼。 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM