Компиляция С++ с помощью SWIG на Mac OS X

Я пытаюсь скомпилировать расширение С++ с помощью Swig для Mac OS X. Однако я столкнулся с несколькими ошибками компоновщика. Основной учебник для Python Swig также кажется неудачным на 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

Первые три строки работают нормально. Последняя строка выходит из строя с ошибкой компоновщика. Я пробовал последнюю строку на OS X с этим и получил ту же ошибку:

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

Ошибка последней строки:

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

Спасибо.

Ответы

Ответ 1

За полноту - спасибо Петеш.

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