SWIG构建调试工具/提示

时间:2011-01-24 18:05:18

标签: python openssl swig m2crypto

我正在尝试使用M2Crypto 1.0.0c(或0.9.7m)在Windows上为Python 2.5.4构建OpenSSL 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已经集成了建议的更改)

1 个答案:

答案 0 :(得分:2)

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

问题是M2Crypto setup.py默认指向<your openssl dir>/include,但如果该openssl目录是源树,则include/不适合查看(至少在Windows上) ) - 你需要查看inc32/,否则opensslv.h只是指向不同文件的一行,这就是为什么SWIG会在第1行轰炸。