Tôi đang cố gắng tạo một DLL gọi Qt (hiện tại tôi không thể sử dụng Jambi cho chức năng tôi cần). Tôi có một phương pháp Java đơn giản:Xây dựng một JNI DLL bằng MINGW
public final native int createChild(int handle);
Tôi đã tạo dự án C trong Visual Studio Express 2010 và có thể xây dựng DLL.
Sau đó, tôi đã tạo một dự án trong trình tạo Qt và di chuyển các nguồn của tôi ở đó. Tôi đã cố gắng định cấu hình bản dựng theo kiến thức tốt nhất của mình nhưng tất cả những gì tôi nhận được là:
java.lang.UnsatisfiedLinkError: tools.proofofconcept.control.EmbedderComposite.createChild(I)I
Tôi đoán biểu tượng đó không được xuất ra đúng từ DLL. Tôi thêm -D_JNI_IMPLEMENTATION_ mối liên kết 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