我有一个用 C++ 创建的包,并且已经将它编译到一个共享库中。
当我用自己的 main 函数链接它时,我可以通过直接调用初始化函数 initfoo 来初始化包,一切正常。
如何让 python 将我的共享库识别为一个包,所以我可以输入:
import foo
从常规 python 解释器运行?
我对使用 distutils 编译文件不感兴趣,因为编译必须是常规 cmake 构建系统的一部分。我只需要创建加载我的共享库所需的任何包文件。
更新:我现在可以正常工作了。问题在于 cmake 默认为共享库名称的 lib 前缀。要解决这个问题需要
SET_TARGET_PROPERTIES(foo PROPERTIES PREFIX "")
对于 Mac OS X
SET_TARGET_PROPERTIES(foo PROPERTIES SUFFIX ".so")