Zainstalowałem 32-bitową wersję Mingw 4.7.2 (przy użyciu instalatora) na moim Windows 7 64-bitowym. Używam MinGW w projekcie Eclipse C++ w celu zbudowania pliku .dll. Jak dotąd wszystko działa.Budynek 64-bitowy dll z MinGW 32-bitowym w Eclipse
Jednak używam tego pliku .dll do dołączenia do projektu java przez JNI. A kiedy wywołuję funkcję .dll w projekcie java, generowany jest wyjątek "Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\path\mylib.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform"
. Wygląda na to, że potrzebuję zbudować 64-bitową wersję biblioteki DLL.
Więc moje pytania to:
- mogę zbudować DLL 64 bitowej z MinGW 32- lub muszę się bitową wersję dla że MinGW 64?
- Jeśli tak, to w jaki sposób muszę dostosować ustawienia MinGW i/lub Eclipse, aby to zrobić?
Pozdrawiam Marc
Edit: Jak widać na poniższym komentarzu, ja już próbowałem ustawić -m64 Flag zbudować dll 64 bitów. Powoduje to błąd: "sorry, unimplemented: 64-bit mode not compiled in"
. Czy istnieje sposób na uruchomienie trybu 64-bitowego w mingw32.
Zgadzam się, jeśli mingw go nie obsługuje, zrobi to mingw-w64. +1 dla bezpośredniego linku. – ollo
Btw. czy istnieje już 4.7.2? Pobieranie odbywa się w wersji 4.7.0. – ollo
Tak, jest. Edytowałem swoją odpowiedź ... –