15
Mac OS X için Swig kullanarak bir C++ uzantısı derlemeye çalışıyorum. Yine de birkaç bağlantı hatalarıyla karşılaştım. Python Swig temel öğretici da Mac üzerinde başarısız görünüyor:Mac OS X üzerinde SWIG ile C++ Derleme
http://www.swig.org/Doc1.3/Python.html#Python_nn10
swig -c++ -python example.i
g++ -O2 -fPIC -c example.cxx
g++ -O2 -fPIC -c example_wrap.cxx -I/usr/include/python2.6
g++ -shared example.o example_wrap.o -o _example.so
ilk üç satırı iyi çalışır. Son satır bir bağlayıcı hatasıyla başarısız oluyor. Bununla OS X üzerinde son satırı çalıştı ve aynı hata var:
g++ -dynamiclib example.o example_wrap.o -o _example.so
son satırından hatadır:
Undefined symbols for architecture x86_64:
"_PyArg_ParseTuple", referenced from:
__wrap_fact in example_wrap.o
"_PyArg_UnpackTuple", referenced from:
_SwigPyObject_own in example_wrap.o
"_PyBool_FromLong", referenced from:
_SwigPyObject_richcompare in example_wrap.o
_SwigPyObject_own in example_wrap.o
...
ld: symbol(s) not found for architecture x86_64
collect2: ld returned 1 exit status
teşekkür ederiz.
'-lpython'
ama Mac nesneleri uzantısı' var paylaştı @Petesh – PeteshTeşekkür .dylib'! Ana Swig kodumla (swig.i dosyasında belirttiğim bazı işlevler için tanımlanmamış semboller) farklı bir konuya asıldım. Temel Swig işlevselliği şimdi çalışıyor. –
Aaaaand tekrar kullanışlı iplik makaraları grevi. Bu, bir macdayken çoklu SWIG tabanlı kitaplıklarla çalışan yaygın ve yaygın bir sorundur. Neden cehenneme kapattın? – Shayne