Я пытаюсь создать DLL, которая вызовет Qt (в настоящее время я не могу использовать Jambi для необходимой мне функциональности). У меня есть простой метод Java:Создайте JNI DLL с помощью MINGW
public final native int createChild(int handle);
Я создал проект C в Visual Studio Express 2010 и смог построить DLL.
Затем я создал проект в создателе Qt и переместил туда свои источники. Я пытался настроить сборку на лучшее из моих знаний, но все это я получаю:
java.lang.UnsatisfiedLinkError: tools.proofofconcept.control.EmbedderComposite.createChild(I)I
Я думаю, что символ не правильно экспортируемые из DLL. Я добавил -D_JNI_IMPLEMENTATION_ компоновщик 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