2

我正在尝试使用OpenSSL 1.0.0c(或 0.9.7m)在 Windows 上为 Python 2.5.4构建M2Crypto 0.21.1,但SWIG正在密谋反对我。我已经尝试了 SWIG 2.0.1 和 SWIG 1.3.40,我得到了同样的错误:

swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c
C:\Development\swigwin-1.3.40\swig.exe -python -IC:\Development\Python-2.5.4\include -IC:\Development\Python-2.5.4\PC -Ic:\Development\openssl-0.9.7m\include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
c:\Development\openssl-0.9.7m\include\openssl\opensslv.h(1): Error: Syntax error in input(1).

OpenSSL/SWIG 的所有排列都显示此错误。我尝试过手动调用 swig 并传递所有我可以的“额外详细”选项,但它们都没有接近信息。我还能做些什么来尝试找到这个问题的真正根源?

(此站点上有建议编辑 M2Crypto 的 .i 文件,但 0.21.1 已经集成了建议的更改)

4

1 回答 1

2

实际上这里的问题不是 SWIG,但我会将这个问题/答案留给下一个出现的 M2Crypto 用户 - 也许它会帮助他们。

问题是 M2Crypto setup.py 默认指向<your openssl dir>/include,但是如果该 openssl 目录是源代码树,include/则不是正确的查看位置(至少在 Windows 上)-您需要查看inc32/,否则opensslv.h只是指向不同文件的行,这就是 SWIG 在第 1 行轰炸的原因。

于 2011-01-24T18:14:54.713 回答