私はCentOS、SWIG 1.3を使用しており、SWIGの例からサンプルのJavaの例をコンパイルするためにテストしました。それはから構成されています:
example.c
/* A global variable */
double Foo = 3.0;
/* Compute the greatest common divisor of positive integers */
int gcd(int x, int y) {
int g;
g = y;
while (x > 0) {
g = x;
x = y % x;
y = g;
}
return g;
}
example.i
%module example
extern int gcd(int x, int y);
extern double Foo;
次に、次のコマンドを使用します。
swig -java example.i
次に、生成されたexample_wrap.cを次のコマンドでコンパイルします。
gcc -c example_wrap.c -I/usr/java/jdk1.6.0_24/include -I/usr/java/jdk1.6.0_24/include/linux
そして、私は次のエラーがあります:
example_wrap.c: In function ‘Java_exampleJNI_Foo_1set’:
example_wrap.c:201: error: ‘Foo’ undeclared (first use in this function)
example.iファイルが間違っているのですか、それとも何かを達成していませんか?または、これはSWIGのバグですか?回避策はありますか?