我試圖在MacOSX Yosemite上安裝PyFTGL。MacOSX + Boost_Python + PyFTGL: - 未找到符號,預計位於:flat命名空間
我使用的python版本是2.7從macports。我已經從指定+ python27的macports安裝了boost。
安裝PyFTGL我從源代碼構建和編輯的setup.py文件:
module_ftgl_libs = [
'GLU',
'GL',
'freetype',
'z',
'ftgl',
'boost_python',
]
module_ftgl = Extension(
'FTGL',
module_ftgl_src,
include_dirs=module_ftgl_include_dirs,
libraries=module_ftgl_libs
)
到:
module_ftgl_libs = [
'freetype',
'z',
'ftgl',
'boost_python',
]
module_ftgl = Extension(
'FTGL',
module_ftgl_src,
include_dirs=module_ftgl_include_dirs,
libraries=module_ftgl_libs,
extra_link_args=['-framework', 'OpenGL', '-framework', 'GLUT']
)
我然後生成setup.py文件並複製產生FTGL。所以文件到我的python代碼test.py使用FTGL函數相同的文件夾。
我的問題是,當我現在運行我的代碼,我得到以下錯誤:
Traceback (most recent call last):
File "test.py", line 29, in <module>
import FTGL
ImportError: dlopen(/Users/james/Desktop/test/FTGL.so, 2): Symbol not found:__ZN5boost6python7objects15function_objectERKNS1_11py_functionERKNSt3__14pairIPNS0_6detail7keywordESA_EE
Referenced from: /Users/james/Desktop/test/FTGL.so
Expected in: flat namespace
in /Users/james/Desktop/test/FTGL.so
我不知道很多有關鏈接,setup.py文件和振奮,我已經花了很長時間研究上谷歌和堆棧溢出,但現在我無法找出問題。
我也有這個問題。你有沒有解決這個問題? – kilojoules
您可以嘗試使用nm在FTGL.so中顯示您的符號表嗎? http://stackoverflow.com/questions/2989233/python-import-error-symbol-not-found-but-the-symbol-sis-s-is-not-present –