コンパイラ mingw64 で oracle oci ライブラリを使用しようとしています。オラクルが提供する oci.lib をリンクすると、64 ビット プログラムがクラッシュします。これは、mingw64 が vc で作成された dll とのリンクをサポートしていないように見えるためです。
これに対する回避策は次のようです。
1) mingw64 gendef で行っている oci.dll から def ファイルを生成します (このコマンド「dlltool -z oci.def --export-all-symbol oci.dll」を使用すると、空の def ファイルが得られます。一方、gendef を使用すると、入力された def ファイルが取得されます)
2) dlltool ("dlltool -d oci.def -l liboci.a") でインポート ライブラリ oci.a を生成します。
ただし、dlltool で生成した oci.a ライブラリは空のファイルです。他の作品では、プログラムを oci.dll にリンクするために使用する必要があるこの oci.a ライブラリを生成できないようです。
誰かがこの問題を解決する方法を知っていますか? 誰かがこのタスクを正しく実行できますか?
ありがとうございました
マルコ