如何在Mac OSX上使用distutils使用python C++扩展编译OpenGL?

Mat*_*ell 25 c++ python opengl macos distutils

当我尝试它时,我得到:

ImportError:dlopen(/Library/Frameworks/Python.framework/Versions/2.5/lib/python2.5/site-packages/cscalelib.so,2):找不到符号:_glBindFramebufferEXT引用自:/Library/Frameworks/Python.framework /Versions/2.5/lib/python2.5/site-packages/cscalelib.so期望:动态查找

我在setup.py文件中尝试了各种各样的东西.我真的需要把它放到哪里才能正确链接到OpenGL?我的代码编译得很好,所以没有必要把它放在那里.这是setup.py

from distutils.core import setup, Extension

module1 = Extension('cscalelib',
              extra_compile_args = ["-framework OpenGL", "-lm", "-lGL", "-lGLU"],
                    sources = ['cscalelib.cpp'])

setup (name = 'cscalelib',
       version = '0.1',
       description = 'Test for setup_framebuffer',
       ext_modules = [module1])
Run Code Online (Sandbox Code Playgroud)

Tim*_*Tim 4

我没有意识到我必须删除构建目录。现在它可以正确导入。

对于任何需要知道您需要的人:extra_link_args=['-framework', 'OpenGL']删除构建目录并重试。它会起作用的。