zoukankan      html  css  js  c++  java
  • window7下python3 编译pjsua

    前几天因为公司需要用python自动化测试模拟话机呼叫,找了半天,大部分都是基于pjsip的库。所以开始苦逼的编译安装pjsua之路。

    先已经编译好python3.7 32位的_pjsua.pyd并且可以通过import pjsua导入

    首先,需要准备的工具有visual studio 2019 community,pjproject

    先安装visual studio2019。这步省略

    然后下载pjsip,地址https://github.com/pjsip/pjproject

    下载完成之后,解压到某个指定目录下,如D:pythonProjectpjproject-2.10.tar

    到pjlib/include/pj目录下,创建新的文件config_site.h

    使用vs2019打开pjproject-vs14.sln

    解决方案-右键-重定目标解决方案。因为是2015的项目,用2019打开会报错

    重新打开项目

    选择Release x64

    右键-解决方案-生成解决方案。成功。

    但重点是编译python_pjsua。但是官方给的代码是有问题的,不能兼容python3。所以需要去下载github上的代码

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

    下载之后,将原来pjsip-apps/src/python目录修改为python_bk,用该库替换,重命名为python

    打开该目录下的_pjsua.def文件,将init_pjsua改为PyInit__pjsua

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

    c/c++常规-附加包含目录-选择新增-选择python3安装路径下的include目录

    链接器-常规-附加库目录-选择新增-选择python3安装目录下的libs目录

    链接器-输入-附加依赖项-python24.lib改为python37.lib

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

    一种解决方案是下载python3 32位解释器,然后修改Release win32,修改之前的安装目录的include和libs目录。重新生成。

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

    打开解释器,import pjsua如果成功表示已经完成。

  • 相关阅读:
    普通平衡树(AVL树)
    正态分布与二项分布
    grahql操作
    skywalking定时删除在大并发下引起的性能问题
    Apache SkyWalking SQL注入漏洞复现分析 (CVE-2020-9483)
    skywalking远程调试Apache SkyWalking SQL注入
    sourceTree详细使用教程
    git 分支的相关操作、创建分支、查看分支、切换分支、删除分支
    [Git高级教程 (一)] 通过Tag标签回退版本修复bug
    idea 版本2018.3.6版本的安装
  • 原文地址:https://www.cnblogs.com/lgh344902118/p/12748732.html
Copyright © 2011-2022 走看看