c ++ - Kompilering af libPNG DLL med MinGW - stort importbibliotek

Indlæg af Hanne Mølgaard Plasc

Problem



Jeg forsøger at kompilere libPNG med MinGW-gcc under Windows.


Først kompilerer jeg kilderne:


gcc -c -O3 src*.c


Derefter for at lave et statisk bibliotek:


ar rvs liblibpng.a *.o


Jeg får et .a statisk bibliotek, der er 273 kB stort. Bøde


Så forsøger jeg at lave en DLL-version:


g++ -shared -o binlibpng.dll *.o -lz -Wl,--out-implib,liblibpng.dll.a


Jeg får en DLL, som er 366kB (fin) og en import lib, der er 272kB stor.


Normalt er importbiblioteker meget små (f.eks. 5kB), for eksempel har jeg lavet OpenEXR i både statiske og dynamiske smag, størrelsen på den statiske .a svarer til størrelsen af ​​DLL'en (1,5 forholdet) og den dynamiske .a er meget lille (få kBs)


Er alt normalt, eller er der noget galt?

Bedste reference