The proper case for D.
Walter Bright
newshound1 at digitalmars.com
Sun Jun 21 02:04:38 PDT 2009
Robert Fraser wrote:
> Hmmm... well, I built a 3rd-party library (Platinum UPnP + Neptune) into
> two static libraries (with VS). I then wrote a C wrapper function around
> one, just to test out the functionality I needed (a fraction of what was
> available). Originally, I wanted to statically link it with my D project
> so I ran objconv on the libs (COFF -> OMF). I created a test D app that
> was basically just:
>
> extern(C) int cMain();
> int main(char[][] args) { return cMain(); }
>
> ... And linked it to the OMF version of the library. Worked fine, but
> the result was ~12MB, which is about 200k larger than the two libraries.
> I'm now using VC++ to build it into a DLL that exposes the function.
> 802kb for a debug DLL, 280k for a release.
>
> The same thing is happening with my other library (ffmpeg -- libavcodec,
> libavformat, libavutil and swscale), which I built as static libraries
> with MinGW gcc and converted again with objconv. In this case, I'm too
> lazy to create a DLL to wrap only the functions I want, though I may end
> up doing just that once my project gets closer to usable.
It may be a problem with objconv where it puts everything into one obj file.
More information about the Digitalmars-d
mailing list