swig - Gakgu/Gakgu.github.io GitHub Wiki
κ°μ
c/c++ μ½λλ₯Ό λ€λ₯Έ μΈμ΄μμ μ¬μ©ν μ μκ² λ°μΈλν΄μ£Όλ λꡬ.
μμ
Python
-
animal.cpp
#include "animal.h" Animal::Animal() : m_speed(10.0) { } float Animal::GetSpeed() { return m_speed; } void Animal::SetSpeed(float speed) { m_speed = speed; }
-
animal.h
class Animal { public: Animal(); float GetSpeed(); void SetSpeed(float speed); private: float m_speed; };
-
animal.i
%module animal %{ #include "animal.h" %} %include "animal.h"
-
Makefile - mingw in windows
TARGET = _animal.pyd FLAGS = -fPIC -shared INCLUDE_PATH = -IC:\Python36\include LIBRARY_PATH = -LC:\Python36\libs LIBRARY = -lpython36 SOURCE = animal.cpp\ animal_wrap.cpp target: swig -c++ -python -o animal_wrap.cpp animal.i g++ $(FLAGS) $(INCLUDE_PATH) $(LIBRARY_PATH) -o $(TARGET) $(SOURCE) $(LIBRARY)