example.h:
#ifndef EXAMPLE_H #define EXAMPLE_H класс Математика { публика: INT Пи () Констант; недействительный пи (интервал пи); частный: интервал _пи; }; #endif example.cpp:
#include "example.h" int Math::pi() const { верните это->_pi; } void Math::pi(int pi) { это->_pi = пи; } example.swig:
Пример%модуля %{ #define SWIG_FILE_WITH_INIT #include "example.h" %} %include "example.h" Затем я генерирую оболочки «example.py» и «example_wrap.c», используя:
swig -python example.swig Когда я пытаюсь скомпилировать класс-оболочку, используя:
g++ -fPIC -c example.cpp example_wrap.c -I/usr/local/include/python2.6/ Я получаю следующую ошибку:
example_wrap.cpp: В функции «PyObject* Swig_var_Math_get()»: example_wrap.cpp
pyobj = SWIG_NewPointerObj(SWIG_as_voidptr(&Math), SWIGTYPE_p_class, 0 ); #define SWIG_as_voidptr(a) (void *)((const void *)(a)) Правильно ли создать класс-оболочку "example_wrap.c"?
Мобильная версия