【问题标题】:Can python SWIG bind a library in the absence of the library's source code?python SWIG 可以在没有库源代码的情况下绑定库吗?
【发布时间】:2012-01-03 00:09:59
【问题描述】:

软件工具SWIG 可用于创建与其他语言的 C/C++ 软件的编程接口(绑定)。

当原始 C 源代码可用时,与 C 库的接口工作正常,可以从中编译 .so 文件。示例命令列在 SWIG python 文档中:http://www.swig.org/Doc2.0/SWIGDocumentation.html#Python_nn7

但是,在我的例子中,第 3 方 C 库没有源文件,只有头文件。它在 Mac OS X 下带有 .dylib 文件,而不是 .so 文件。

是否可以创建一个绑定到这个 C 库的 python 模块?

【问题讨论】:

  • stackoverflow.com/q/6193120/168175 - 同样的问题,但目标是 Java 而不是 Python。 “将你的 SWIG 库与你正在包装的库链接”是迄今为止对 python 更好的解决方案。如果不清楚,我可以详细说明。
  • 貌似@Flexo 阐述了here

标签: python c swig


【解决方案1】:

对于 SWIG,头文件足以生成接口文件。虽然我没有在 MacOS 上工作过,所以不确定如何链接这些库。但是关于您的第一个问题,您不需要库的源代码即可将其转换为 c/c++。

【讨论】:

    猜你喜欢
    • 2020-07-16
    • 1970-01-01
    • 2017-04-01
    • 2017-04-04
    • 1970-01-01
    • 2013-09-29
    • 1970-01-01
    • 2018-03-26
    • 2019-06-26
    相关资源
    最近更新 更多