Próbuję utworzyć bibliotekę DLL, która wywoła Qt (obecnie nie mogę używać Jambi dla potrzebnej mi funkcji). Mam prostą metodę Java:Zbuduj bibliotekę DLL JNI przy użyciu MINGW
public final native int createChild(int handle);
Utworzony projekt C w Visual Studio Express 2010 i był w stanie zbudować DLL.
Potem stworzyłem projekt w kreatorze Qt i przeniosłem tam moje źródła. Próbowałem skonfigurować build Do mojej najlepszej wiedzy ale pojawia się:
java.lang.UnsatisfiedLinkError: tools.proofofconcept.control.EmbedderComposite.createChild(I)I
Domyślam się, że symbol nie jest prawidłowo wywiezione z DLL. Dodałem -D_JNI_IMPLEMENTATION_ łącznikową 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