關於windos10環境下編譯python3版pjsua庫的問題

環境:
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路徑

添加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

源碼及預編譯文件

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

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

到此這篇關於windos10環境下編譯python3版pjsua庫的文章就介紹到這瞭,更多相關python3編譯pjsua庫內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!

推薦閱讀: