library c++ macos g++ shared-libraries swig

library - Compilando C++ con SWIG en Mac OS X



swig library (1)

Estoy tratando de compilar una extensión de C ++ usando Swig para Mac OS X. Sin embargo, me he topado con algunos errores del enlazador. El tutorial básico para Python Swig también parece fallar en Mac:

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

Las primeras tres líneas funcionan bien. La última línea falla con un error del enlazador. Probé la última línea en OS X con esto, y obtuve el mismo error:

g++ -dynamiclib example.o example_wrap.o -o _example.so

El error de la última línea es:

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

Gracias.


Para completar - gracias Petesh.

swig -c++ -python example.i g++ -O2 -fPIC -c example.cxx g++ -O2 -fPIC -c example_wrap.cxx -I/usr/include/python2.6 g++ -lpython -dynamiclib example.o example_wrap.o -o _example.so