使用Cython将python链接到Mac OS中的共享库

时间:2015-05-31 05:51:12

标签: python macos cython ld distutils

我尝试与仅为for (int i=1; i<=6; i++) { for (int j=1; j<=i; j++) System.out.print("*"); for (int j=1; j<=i; j++) System.out.print("-"); } 个文件和.so文件提供共享库的其他人集成。
在mac os中,共享库应为.h,但我不知道如何设置环境或其他方法来解决问题当我想尝试链接共享库.dylib时mac中的文件。

我有一个手动创建的.so文件。 例如,我只有一个名为pyd/pyx的共享库。 Distutils setup.py文件:

hellopy.so

然后尝试编译包。

from setuptools import setup, find_packages
from Cython.Build import cythonize
from Cython.Distutils import build_ext, Extension

other_dir=''
cython_header_dir =''
common_args = {
"include_dirs": [other_dir],
"library_dirs": [other_dir],
"language": "c++",
"cython_include_dirs": [cython_header_dir],
}

extensions = [
Extension(name="api.api",
          sources=["api/api.pyx"],

          extra_compile_args=[],
          extra_link_args=[],
          # todo fix libraries problems
          libraries=["hellopy"],
          **common_args),

setup(

    include_package_data=True,
    install_requires=["Cython>=0.22"],
    setup_requires=["Cython>=0.22"],
    packages=find_packages(),
    cmdclass={"build_ext": build_ext},
    ext_modules=cythonize(extensions),
    exclude_package_data={"": ["*.cpp"]}
)

0 个答案:

没有答案