我有一些c ++代码,它使用boost作为python模块。 它实际上是另一个c ++ python模块的插件。
在Windows上,我必须链接到此库的libavg.pyd
文件。
在linux上我尝试链接libavg.so
,但是当这样做时,dlopen失败,对应该在libavg.pyd
中定义的函数的未定义引用。
在linux上链接到.pyd文件相当于什么?
答案 0 :(得分:1)
在Linux上.pyd等效的是.so文件。
我不知道Boost :: Python的细节,但您可以尝试使用这样的脚本:
from distutils.core import setup, Extension
module = Extension('ModuleName', sources=['yourmodule.cpp'], language="c++")
setup(name="ModuleName",
version='1.0',
description='My package',
ext_modules=[module])
在此之后,只需使用.so-extension导入您的构建模块。