在Windows上构建pjsua python

时间:2015-02-22 09:58:06

标签: python c visual-studio-2012 pjsip

我正在尝试使用Visual Studio 2012在Windows中构建_pjsua C扩展。

我从这里下载了源代码 - http://www.pjsip.org/download.htm

我安装了Python27,并将 C:\ Python27 \ include C:\ Python27 \ libs 目录添加到项目 include 目录。

我按照此处的说明进行操作 - https://trac.pjsip.org/repos/wiki/Python_SIP/Build_Install

第1步:构建C扩展下的使用Visual Studio的Microsoft Windows 中,它说:

Visual Studio 2005:

1. Open pjproject-vs8.sln from the PJSIP distribution directory.

2. Select either Debug or Release from the build configuration
Note: the Python module does not support other build configurations.

3. In Visual Studio, right click python_pjsua project from the Solution Explorer panel, and select Build from the pop-up menu.
Note: the python_pjsua project is not built by default if you build the solution, hence it needs to be built manually by right-clicking and select Build from the pop-up menu.

4. The _pjsua.pyd Python module will be placed in pjsip-apps\lib directory.
or in case of debug, it will be _pjsua_d.pyd

在第3步(构建python_pjsua项目)中,我收到错误

pjsua error lnk1181 cannot open input file python24.lib

C:/ Python27 / libs 中我有 python27.lib 文件。

此C扩展是否仅适用于Python 2.4(python24)??

提前致谢

2 个答案:

答案 0 :(得分:1)

不,不是这样。 你可以使用简单的黑客: 复制python27.lib 并将其重命名为python24.lib ,然后将其放入 C:/ Python27 / libs 文件夹。现在您可以构建扩展,然后在cmd python setup-vc.py install 命令中运行。

答案 1 :(得分:0)

正确的解决方案是:

  1. 打开python_pjsua属性页面(右击 - >属性);
  2. Linker-> Input-> Additional Dependencies。
  3. 将python24.lib更改为python27.lib(如果调试,则将python24_d.lib更改为python27_d.lib)。
  4. 它应该可以正常工作和编译。