Создайте JNI DLL используя MINGW

Я пытаюсь создать DLL, которая будет вызывать Qt (в настоящее время я не могу использовать Jambi для тех функций, которые мне нужны). У меня есть простой метод Java:

public final native int createChild(int handle);

Я создал проект C в Visual Studio Express 2010 и смог построить DLL.

Затем я создал проект в Qt Creator и переместил туда свои исходники. Я пытался настроить сборку, насколько мне известно, но все, что я получил, это:

java.lang.UnsatisfiedLinkError: tools.proofofconcept.control.EmbedderComposite.createChild(I)I

Я предполагаю, что символ неправильно экспортируется из DLL. Я добавил -D_JNI_IMPLEMENTATION_ linker arg:

g++ -D_JNI_IMPLEMENTATION_  -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc -shared -mthreads -Wl -Wl,--out-implib,debug\libqt_integration.a -o debug\qt_integration.dll debug/dllmain.o debug/nativecode.o debug/qmfcapp.o debug/qwinwidget.o debug/moc_qwinwidget.o  -L"c:\Qt\2010.05-rc1\qt\lib" -lQtGuid4 -lQtCored4 
5
задан Eugene 10 September 2010 в 23:34
поделиться