我正在使用 Cent OS、SWIG 1.3 并且我已经测试过从 SWIG 示例编译示例 Java 示例。它包括:
例子.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;
}
例子.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 中的错误?有解决方法吗?