расширение python c, проблемы с dlopen на mac os
я взял библиотеку, которая распространяется как двоичный lib (.a) и заголовок, написал некоторый код c++ против него и хочет обернуть результаты в модуле python.
я сделал это здесь.
проблема в том, что при импорте этого модуля на Mac и OSX (я пробовал 10.5 и 10.6), я получаю следующую ошибку:
dlopen(/Library/Python/2.5/site-packages/dirac.so, 2): Symbol not found: _DisposePtr
Referenced from: /Library/Python/2.5/site-packages/dirac.so
Expected in: dynamic lookup
похоже, что символы, определенные в углеродной структуре, не разрешаются должным образом, но я не уверен что с этим делать. Я поставляю -framework Carbon
до distutil.core.Extension
' s
1 ответов
вы собираетесь пнуть себя, когда увидите ответ на этот вопрос! Попробуйте изменить это:
link_args = ['-framework Carbon'] if platform == 'Darwin' else []
для этого:
link_args = ['-framework', 'Carbon'] if platform == 'Darwin' else []
Как только я сделал это изменение, я смог сделать чистую сборку и импортировать модуль сразу:)