Articles of swig

SWIG C到Python Int数组

我想从Python使用swig访问一个C函数,下面的原型: int cosetCoding(int writtenDataIn, int newData, const int memoryCells, int *cellFailure, int failedCell); Swig创build.so没有问题,我可以导入到Python,但是当我尝试访问它与以下内容: cosetCoding.cosetCoding(10,11,8,[0,0,0,0,0,0,0,0],0) 我得到以下回溯: Traceback (most recent call last): File "<stdin>", line 1, in <module> TypeError: in method 'cosetCoding', argument 4 of type 'int *' 指针应该是一个int数组,大小由memoryCells定义

M2Crypto不安装在venv中,或者swig没有定义__x86_64__,这会破坏对OpenSSL的编译

我试图将Python M2Crypto软件包安装到x86_64 RHEL 6.1机器上的virtualenv上。 这个过程调用swig,失败并出现以下错误: $ virtualenv -q –no-site-packages venv $ pip install -E venv M2Crypto==0.20.2 Downloading/unpacking M2Crypto==0.20.2 Downloading M2Crypto-0.20.2.tar.gz (412Kb): 412Kb downloaded Running setup.py egg_info for package M2Crypto Installing collected packages: M2Crypto Running setup.py install for M2Crypto building 'M2Crypto.__m2crypto' extension swigging SWIG/_m2crypto.i to SWIG/_m2crypto_wrap.c swig -python -I/usr/include/python2.6 -I/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i /usr/include/openssl/opensslconf.h:31: Error: […]

Windows的Python SVN绑定

我在哪里可以findWindows预编译的Python SWIG SVN绑定?

如何在Windows上安装M2crypto

安装OpenSSL之后 ,下载预先构build的Swig可执行文件 ,并确保openssl库位于默认的 c:\pkg , pip install m2crypto导致: … C:\Program Files (x86)\gfortran\bin\gcc.exe -mno-cygwin -mdll -O -Wall -IC:\Pyth on27\include -IC:\Python27\PC -Ic:\pkg\include -Ic:\users\evbo\appdata\local\tem p\pip_build_evbo\m2crypto\SWIG -c SWIG/_m2crypto_wrap.c -o build\temp.win32-2.7\ Release\swig\_m2crypto_wrap.o -DTHREADING gcc: error: unrecognized command line option '-mno-cygwin' error: command 'gcc' failed with exit status 1 看来M2crypto的二进制安装程序解决scheme已不再可用,而且我也没有看到我根据M2crypto安装文档所做的任何错误。 我该如何解决这个安装问题? 是否有依赖旧版本的GCC?

如何安装SWIG?

Noob问题前面… 我正试图在Windows上安装SWIG。 根据INSTALL文件,我必须 cd到包含软件包源代码的目录,然后input./configure为你的系统configuration软件包。 我在根目录和/CCache目录(只有那些具有configure和configure.in文件的)中尝试了这个命令,但是,shell会报告 C:\swigwin-2.0.4>./configure '.' is not recognized as an internal or external command, operable program or batch file. 我错过了什么?

混合来自不同编译器的C ++代码

假设我有两个我想链接在一起的项目: 用Visual C ++编译成DLL文件的C ++库。 用C ++ Builder编译的C ++可执行文件,使用库中的类。 我意识到没有标准的C ++ ABI,并且任何直接将这两个C ++项目链接在一起的尝试都将失败。 什么是创build兼容性层的好的自动化方法,可以让我完成这个任务? 例如,可以想象C ++库可以通过C接口来暴露自己。 然后,可执行文件将包含一些C ++类,它们包装C ++库公开的C接口。 因为C有一个标准的ABI,所以它可以工作。 唯一的问题是如何自动创buildC接口和C ++包装类 – 手动维护这不会是一个选项。 SWIG项目看起来很有希望,但不幸的是,C ++并不是在他们的网站上列出的SWIG的出口之一。 有没有办法用SWIG来做我想要的? 或者除了SWIG以外,还有另一个项目可以帮助我完成这个任务吗? 或者我正在做这个错误的方式? 编辑:核心C ++库旨在跨平台。 显然,可执行文件是Windows特有的。 我不想污染核心库,以至于无法在其他平台上进行编译。