1

.dll次のコマンドでコンパイルしgcc -mno-cygwin -I"/cygdrive/c/Program Files/Java/jdk1.7.0_04/include" -I"/cygdrive/c/Program Files/Java/jdk1.7.0_04/include/win32" -Wl,--add-stdcall-alias -shared -o CalculatorFunctions.dll CalcFunc.c ます。GlassFish for Eclipse を使用します。システム全体が CORBA クライアント/サーバーです。Eclipse からサーバーを起動すると、問題ありません。しかし、CMDからサーバーを実行しようとすると(サーバーのポートとホストアドレスを設定したいため)、次のようになります。Exception: ... .dll: Can't load AI 32-bit .dll on a AMD 64-bit platform

他のトピックを検索したところ、JDK を 32 ビットに変更してみる必要があることがわかりましたが、再び機能しませんでした。したがって、私が読んだ他の解決策は、.DLL を 64 ビットとしてコンパイルすることです。どのコマンドを使用する必要がありますか、またはそれをどのように行う必要がありますか?

前もって感謝します!:)

4

1 に答える 1

0

コマンドだけでなく、 64 ビット MinGW ツールチェーン全体(そもそも 64 ビット コンパイラ) が必要です。その後、gcc 呼び出しのパラメーターは同じように機能するはずです。

64 ビットはコンパイル可能性だけの問題ではないことに注意してください。sizeofプリミティブ データ型はサイズが異なるため、チェックせずに仮定を行うコードは問題になる可能性があります。最も顕著なのは、ポインター演算です。

于 2012-11-29T14:17:02.803 に答える