背景
MinGW で, .dll を使うアプリをビルドするのに, リンク用の .lib(import lib)を作成したい.
参考
MS-MPI(Microsoft MPI) の例
手順
- .dll -> .def(テキスト)を作る
- .def から .lib(import lib)を作る
.def を作る方法はいくつかりますが(シンボル数が少なければ手書きという手もある), 今回は gendef(mingw tool)を使います.
環境, 必要なツール
Ubuntu 18.04 or later を想定します(e.g. WSL linux)
Linux で完結するようにします.
- gendef(.dll -> .def)
- apt で
mingw-w64-tools
で入ります
- apt で
- llvm-dlltool
- llvm-mingw などであります.
- MinGW にも dlltool ありますが, うまくいかないときもあるっぽい?
手順
directml.dll を例にとります.
$ gendef directml.dll
$ llvm-dlltool -m i386:x86-64 -d directml.def -l directml.lib
でいけます!