用VC和MinGW导出dll的def和lib(a)文件

有了dll文件需要导出def文件:
In msys2:
pacman -S mingw-w64-x86_64-tools
or x86:
pacman -S mingw-w64-i686-tools
gendef zlib1.dll
In MinGW:
pexports zlib1.dll > zlib1.def

有了dll和def文件,需要导出MinGW的.a文件:
dlltool --dllname zlib1.dll --def zlib1.def --output-lib libz.dll.a

有了dll和def文件,需要导出一个VC的lib文件:
运行VS开发人员命令提示符
lib /machine:X64 /def:zlib1.def
or x86:
lib /machine:i386 /def:zlib1.def

注意:
C++的dll不具有2进制级别的共享性,也就是说VC的MinGW的C++ dll不能混用。
而C的可以。
pexports和dlltool的MinGW的工具,lib是VC的工具。

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

10 + 8 =