如何仅将 swig 与已编译的 dll 和头文件一起使用
How to use swig with compiled dll and header file only
我已经从 SWIG documentation 中阅读了一些文档(与 c++ 代码相关),但无法确定是否可以生成 Python 扩展模块以防我有 已编译的 dll(未提供源代码)和 头文件,所有函数都在 dll 中声明。
如果有人遇到同样的问题并解决了,能否提供一些有用的例子?
提前致谢。
是的,这是可能的。 SWIG 仅使用 headers 生成包装函数。这是一个简单的 SWIG 文件:
%module mymod
%{
#include "myheader.h"
%}
%include "myheader.h"
然后:
swig -python -c++ mymod.i
然后编译 link 生成的代码作为 Python 扩展 DLL。您还需要在 .lib 中为包装的 DLL 添加 link。
我已经从 SWIG documentation 中阅读了一些文档(与 c++ 代码相关),但无法确定是否可以生成 Python 扩展模块以防我有 已编译的 dll(未提供源代码)和 头文件,所有函数都在 dll 中声明。
如果有人遇到同样的问题并解决了,能否提供一些有用的例子?
提前致谢。
是的,这是可能的。 SWIG 仅使用 headers 生成包装函数。这是一个简单的 SWIG 文件:
%module mymod
%{
#include "myheader.h"
%}
%include "myheader.h"
然后:
swig -python -c++ mymod.i
然后编译 link 生成的代码作为 Python 扩展 DLL。您还需要在 .lib 中为包装的 DLL 添加 link。