WindowsでSWIGを使用する方法を学習中です。
以下は私のC++コードです:
/* File : example.cxx */
#include "example.h"
#define M_PI 3.14159265358979323846
/* Move the shape to a new location */
void Shape::move(double dx, double dy) {
x += dx;
y += dy;
}
int Shape::nshapes = 0;
double Circle::area(void) {
return M_PI*radius*radius;
}
double Circle::perimeter(void) {
return 2*M_PI*radius;
}
double Square::area(void) {
return width*width;
}
double Square::perimeter(void) {
return 4*width;
}
これは私のヘッダーファイルです:
/* File : example.h */
class Shape {
public:
Shape() {
nshapes++;
}
virtual ~Shape() {
nshapes--;
};
double x, y;
void move(double dx, double dy);
virtual double area(void) = 0;
virtual double perimeter(void) = 0;
static int nshapes;
};
class Circle : public Shape {
private:
double radius;
public:
Circle(double r) : radius(r) { };
virtual double area(void);
virtual double perimeter(void);
};
class Square : public Shape {
private:
double width;
public:
Square(double w) : width(w) { };
virtual double area(void);
virtual double perimeter(void);
};
これは私のインターフェースファイルです:
/* File : example.i */
%module example
%{
#include "example.h"
%}
%include "example.h"
SWIG を使用して、Cygwin で次のコマンドを使用して C++ コードをラップすることができました。
$swig -c++ -python -o example_wrap.cpp example.i
私の質問は、生成されたコード (example_wrap.cpp) を使用して、この時点から DLL を作成するにはどうすればよいですか? 何か案は?
Visual Studio C++ 2010 で DLL を作成しようとしましたが、ビルド エラーが発生しました。
LINK : fatal error LNK1104: cannot open file 'python27_d.lib
私はSWIGを使用するのにかなり慣れていないので、どんな助けでも大歓迎です。
ありがとう!