C++ 使用MinGW-大型导入库编译libPNG-DLL

C++ 使用MinGW-大型导入库编译libPNG-DLL,c++,windows,dll,dynamic-library,mingw-w64,C++,Windows,Dll,Dynamic Library,Mingw W64,我正在尝试在windows下使用MinGW gcc编译libPNG 首先,我整理了资料来源: gcc -c -O3 src\*.c 然后,对于创建静态库: ar rvs lib\libpng.a *.o 我得到了一个273kB大的.a静态库。好的 然后我尝试创建一个DLL版本: g++ -shared -o bin\libpng.dll *.o -lz -Wl,--out-implib,lib\libpng.dll.a 我得到一个366kB(很好)的DLL和一个272kB大的导入库 通常,

我正在尝试在windows下使用MinGW gcc编译libPNG

首先,我整理了资料来源:

gcc -c -O3 src\*.c
然后,对于创建静态库:

ar rvs lib\libpng.a *.o
我得到了一个273kB大的
.a
静态库。好的

然后我尝试创建一个DLL版本:

g++ -shared -o bin\libpng.dll *.o -lz -Wl,--out-implib,lib\libpng.dll.a
我得到一个366kB(很好)的DLL和一个272kB大的导入库

通常,导入库非常小(例如5kB),例如我在静态和动态版本中编译了OpenEXR,静态.a的大小类似于DLL的大小(1.5比),动态.a非常小(几KB)

一切正常吗,还是出了什么问题