Windows 7の64ビット版にMingw 4.7.2の32ビットバージョン(インストーラを使用)をインストールしました。 Eclipse C++プロジェクトでMinGWを使用して、.dllファイルを作成します。これまでのところすべてが機能します。EclipseでMinGW 32ビットを使って64ビットdllをビルドする
しかし、私はこの.dllをJNI経由でJavaプロジェクトに組み込むことを使用しています。そして、私がjavaプロジェクトの.dllの関数を呼び出すと、例外"Exception in thread "main" java.lang.UnsatisfiedLinkError: D:\path\mylib.dll: Can't load IA 32-bit .dll on a AMD 64-bit platform"
がスローされます。 したがって、64ビットバージョンのDLLをビルドする必要があるようです。
だから私の質問は以下のとおりです。
- は、私はMinGWの32ビットと64ビットのDLLを構築することができますか私はそのためのMinGWの64ビット版が必要なのでしょうか?
- はいの場合、どのようにMinGWおよび/またはEclipseの設定を調整する必要がありますか?
よろしくマルク・
編集:あなたが以下のコメントに見ることができるように、私はすでに64ビットのDLLをビルドするには、-m64フラグを設定しようとしました。その結果、エラーは"sorry, unimplemented: 64-bit mode not compiled in"
になります。 mingw32で64ビットモードを実行する方法があります。
mingwがそれをサポートしていない場合、mingw-w64は同意します。直接リンクの場合+1。 – ollo
Btw。すでに4.7.2がありますか?ダウンロードは4.7.0です。 – ollo
はいあります。私は私の答えを編集しました... –