【发布时间】:2011-01-29 19:03:50
【问题描述】:
所以基本上,我正在尝试用 Python 编写自己的 GUI 包装器(使用 GTK+,但我认为这无关紧要),用于使用 C++ 编写并由用户编译成共享对象文件的 API(在linux [*nix?我不太确定它在 Mac 上是如何工作的])或一个 dll(在 Windows 中),您应该能够参考以自己使用 API。经过一段时间的 Cython 尝试后,我可以编写自己的扩展,只要它只是一个文件,但我无法在网上找到任何关于使用多个文件的内容(因为这显然是,因为任何真正的项目将是)编译成单个 .so 可以导入到 Python 项目中。我是否需要手动通过并使用 Cython 并为每个 .cpp 文件(有很多)创建 .pyx 文件,将它们编译成 cpp 文件,然后编辑然后使用 make 文件将它们编译成 .so 文件,还是有更自动化的方法? (ps.我尝试用 Cython 分别编译每个文件,但它似乎不喜欢“#include ”符号,因此无法编译大部分文件)
其他信息:我已经能够使用 ctypes 与库进行交互,但这感觉非常hackish 和非pythonic,无论如何我想获得更多关于 Cython 的经验,因为它看起来可能非常有用资产。
【问题讨论】: