Я просмотрел часто задаваемые вопросы по SWIG и документацию по динамическим модулям, и кажется, что существует множество вариантов при принятии решения о том, как создать библиотеку DLL JNI для Windows. wiki описывает процесс с использованием очень старых версий Visual C ++. Что все используют?
Я установил MinGW и приведенные ниже команды в Windows 7 и выполнил приведенные ниже команды на примере простого Java SWIG, см. Ниже:
- C: \ swig \ swigwin-2.0.4 \ examples \ java \ simple> swig -java example.i
- C: \ swig \ swigwin-2.0.4 \ examples \ java \ simple> gcc -c example_wrap.c -I C: \ Программа F
iles \ Java \ jdk1.6.0_30 \ include -I C: \ Program Files \ Java \ jdk1.6.0_30 \ include \ win32
- C: \ swig \ swigwin-2.0.4 \ examples \ java \ simple> gcc -shared example_wrap.o -o example.dll
Последние ошибки команды:
example_wrap.o:example_wrap.c:(.text+0xa9): undefined reference to `gcd'
example_wrap.o:example_wrap.c:(.text+0xe2): undefined reference to `Foo'
example_wrap.o:example_wrap.c:(.text+0xe8): undefined reference to `Foo'
example_wrap.o:example_wrap.c:(.text+0x107): undefined reference to `Foo'
example_wrap.o:example_wrap.c:(.text+0x10d): undefined reference to `Foo'
collect2: ld returned 1 exit status