Ich versuche, eine DLL zu erstellen, die Qt aufrufen wird (derzeit kann ich Jambi nicht für die Funktionalität, die ich brauche) verwenden. Ich habe eine einfache Java-Methode:Erstellen Sie eine JNI-DLL mit MINGW
public final native int createChild(int handle);
Ich erstellte C-Projekt in Visual Studio Express 2010 und konnte die DLL erstellen.
Dann habe ich ein Projekt in Qt Creator erstellt und meine Quellen dorthin verschoben. Ich habe versucht, den Build zu einem besten Wissen und Gewissen zu konfigurieren, aber alles, was ich bekommen ist:
java.lang.UnsatisfiedLinkError: tools.proofofconcept.control.EmbedderComposite.createChild(I)I
Meine Vermutung ist, dass Symbol nicht richtig von DLL exportiert wird. Ich habe -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