[SVN build 698, MFC] Info & Download

Eevon
Junior Member
Posts: 4
Joined: Thu Sep 04, 2008 5:28 pm

[SVN build 698, MFC] Info & Download

Post by Eevon »

you can't static link Dx or MSVC files (can you???)

Sure you can link staticaly any needed dlls. MSVC projects by default use dynamic linking. That's why they require lots of runtimes to run them. By using static liniking you can avoid such problems once and for all.


<blockquote data-ipsquote="" class="ipsQuote" data-ipsquote-contentapp="forums" data-ipsquote-contenttype="forums" data-ipsquote-contentid="201" data-ipsquote-contentclass="forums_Topic"><div>you can't static link Dx or MSVC files

 

Nothing is stopping us from linking libpng and ZLIB static.

 

Thats what I do when I do my compiles....

</div></blockquote>

I'm not talking about these two. They are quite small and bundled already with emulator. I'm talking about MSVC SP1 runtimes and other files listed in the readme. Just use static linking, please, for your project to make thing easier for all of us.

Last edited by Eevon on Fri Sep 05, 2008 4:22 am, edited 1 time in total.
supergoofy
Junior Member
Posts: 8
Joined: Tue Aug 26, 2008 1:12 pm

[SVN build 698, MFC] Info & Download

Post by supergoofy »

static link? do you mean integrating into the compiled exe?

 

then static linking DirectX 9 or vs2008 runtimes is not wise. these two has to do with the OS and there might be a mesh, if you try to static link them. when new versions of DirectX 9 or vs2008 will be released, then the compiled builds will be obsolete. also the compiled builds may work only on the OS that they are compiled. lastly, the compiled exe will be a lot bigger. after all, downloading and installing DirectX 9 or vs2008 runtimes is something that you will not do everyday.

Last edited by supergoofy on Fri Sep 05, 2008 7:16 am, edited 1 time in total.
spacy51
Senior Member
Posts: 371
Joined: Tue Mar 18, 2008 4:59 pm

[SVN build 698, MFC] Info & Download

Post by spacy51 »

Guys, i understand that these are WIP versions of the emu and all, but why don't you use static builds intstead dynamic anymore? There are tons of megabytes needed to be downloaded to use the emu now with only a micro portion of those runtimes really used in the emu. So please, upload ready to use versions which will work without extra downloads like VisualBoyAdvance589.7z did.

 

Well, I guess you're right. DLLs and all are suposedly only to be used when having an installer, anything else is too time consuming for the end user. And on top, no one wnats to download the MSVC++2008 SP1 runtime, so I should make it static after all...

 

But you WILL have to download the very latest DirectX, that's also good for games and stuff.

Squall Leonhart
Posting Freak
Posts: 1223
Joined: Tue Mar 18, 2008 9:21 am

[SVN build 698, MFC] Info & Download

Post by Squall Leonhart »

Static linking means the compiled build contains the Dynamic libraries embedded in the exe. It increases the size of the final compiled build, but usually only requires the latest DX files.

spacy51
Senior Member
Posts: 371
Joined: Tue Mar 18, 2008 4:59 pm

[SVN build 698, MFC] Info & Download

Post by spacy51 »

then static linking DirectX 9 or vs2008 runtimes is not wise. these two has to do with the OS and there might be a mesh, if you try to static link them.

 

A static link of DirectX is simply not possible because the SDK comes only with DLL-loader libs.

What do the vc2008 runtime have to do with the OS? The only runtime needed for many of the windows DLL is msvcrt.dll, which is shipped with the OS. You can look that up with the "Dependency Walker" application. I think drivers also have to rely on this exact runtime, but I'm not sure.

 

 

when new versions of DirectX 9 or vs2008 will be released, then the compiled builds will be obsolete.

 

Well, that the same for any game you own, what's the problem with that?

 

 

also the compiled builds may work only on the OS that they are compiled.

 

Any proof of that? I doubt it.

 

 

lastly, the compiled exe will be a lot bigger.

 

IIRC, not more than one or two megabytes.

 

 

after all, downloading and installing DirectX 9 or vs2008 runtimes is something that you will not do everyday.

 

Well, that's true, but somehow the people are lazy and always complain... :angel:

Last edited by spacy51 on Sat Sep 06, 2008 5:30 am, edited 1 time in total.
spacy51
Senior Member
Posts: 371
Joined: Tue Mar 18, 2008 4:59 pm

[SVN build 698, MFC] Info & Download

Post by spacy51 »

Static linking means the compiled build contains the Dynamic libraries embedded in the exe.

 

It does not exactly embed the DLLs into the exe, it's rather just linking code in as if it was part of the compiled source code.

supergoofy
Junior Member
Posts: 8
Joined: Tue Aug 26, 2008 1:12 pm

[SVN build 698, MFC] Info & Download

Post by supergoofy »

thanks for the explanation spacy51. I'll search wikipedia and also do a google search to learn more.

Hard Core Rikki
Member
Posts: 78
Joined: Tue Apr 08, 2008 12:26 pm

[SVN build 698, MFC] Info & Download

Post by Hard Core Rikki »

directx dlls are "system libraries" according to the GPLs (v2 and v3), and allowed redistribution next to GPLed executables in the same package (same zip file), btw (the exact snippets from th GPL FAQ referring to the situation privately disclosable)

Eevon
Junior Member
Posts: 4
Joined: Thu Sep 04, 2008 5:28 pm

[SVN build 698, MFC] Info & Download

Post by Eevon »

Well, I guess you're right. DLLs and all are suposedly only to be used when having an installer, anything else is too time consuming for the end user. And on top, no one wnats to download the MSVC++2008 SP1 runtime, so I should make it static after all...

 

But you WILL have to download the very latest DirectX, that's also good for games and stuff.

Sure, DirectX is not a problem for end user, because almost all latest games require fresh Direct X libraries and usualy users have them installed already.

 

I hope to see next static build soon. [img]<fileStore.core_Emoticons>/emoticons/happy.png[/img]/emoticons/happy@2x.png 2x" width="20" height="20" />


Static linking means the compiled build contains the Dynamic libraries embedded in the exe. It increases the size of the final compiled build, but usually only requires the latest DX files.

Compiler links only used parts of code not entire DLL file. So exe's size increase will be insignificant comparing to lots of megabytes of entire MSVC SP1 download. Also nobody will complain about emulator's size increase nowadays, when in return it'll be ready to use right from the archive.

Last edited by Eevon on Fri Sep 05, 2008 1:10 pm, edited 1 time in total.
supergoofy
Junior Member
Posts: 8
Joined: Tue Aug 26, 2008 1:12 pm

[SVN build 698, MFC] Info & Download

Post by supergoofy »

Eevon what are you talking about? Microsoft Visual C++ 2008 SP1 Redistributable Package (x86) is about 4 MB. The same goes for Microsoft Visual C++ 2008 SP1 Redistributable Package (x64). So what's the point of static linking? Is a 4 MB file that big?

Post Reply