osx上的python扩展链接dylib

2024-10-03 00:19:08 发布

您现在位置:Python中文网/ 问答频道 /正文

我用distutils创建了一个python扩展bar_extensionbar_extension需要一个共享对象libfoo.dylib,它由cmake创建。 这是我的setup.py

from distutils.core import setup, Extension

module1 = Extension('bar_extension',
                libraries=['libfoo2.dylib', ],
                library_dirs=['/Users/xiazhibin/CLionProjects/study/lib', ],
                include_dirs=['/Users/xiazhibin/CLionProjects/study/include', ],
                language="c++",
                extra_compile_args = ['-v', '--std=c++98', ],
                sources=['main.cpp'])

setup(name='PackageName',
  version='1.0',
  description='This is a demo package',
  ext_modules=[module1])

输出如下:

"/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo" -create -output build/temp.macosx-10.11-intel-2.7/main.o /var/folders/45/gz7ljrz94mdct3nvm9l5ftnr0000gp/T/main-5498b8.o /var/folders/45/gz7ljrz94mdct3nvm9l5ftnr0000gp/T/main-0bc98d.o
c++ -bundle -undefined dynamic_lookup -arch i386 -arch x86_64 -Wl,-F. build/temp.macosx-10.11-intel-2.7/main.o -L/Users/xiazhibin/CLionProjects/study/lib -llibfoo2.dylib -o build/lib.macosx-10.11-intel-2.7/bar.so
ld: library not found for -llibfoo2.dylib
clang: error: linker command failed with exit code 1 (use -v to see invocation)
error: command 'c++' failed with exit status 1

我的libfoo2.dylib在路径/Users/xiazhibin/CLionProjects/study/lib下,但似乎找不到我的libfoo2.dylib

怎么样?你知道吗

谢谢!你知道吗


Tags: buildmainlibsetupextensionbarusersmacosx