Statically linking all our libraries

Started by Ryex, November 17, 2011, 03:41:54 pm

Previous topic - Next topic

Ryex

will we be perusing this at some point? I really hate the idea of having the engine depend on having all those dll's in the folder. so many chances for something to go wrong.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

Actually it's practically the same thing. Explain what you mean with going wrong.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

well if we statically link them the objects are directly part of the exe and the dlls arn't needed in the folder. Right now the exe is packaged with 19 dlls and the VC90 CRT that's 20 things the user needs to be sure gets packages when they go to distribute and 20 things to forget. Even with license limitations I'm sure we could use static linking to get that down to three or four dlls and the CRT much more manageable.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

November 17, 2011, 05:25:12 pm #3 Last Edit: November 19, 2011, 03:18:52 pm by Blizzard
I'm not sure about the external stuff, but April and friends can be changed to be compiled statically. I'd just have to make the build configurations. We can simply compile everything into the zer0division.dll and the .exe stays as it is. But I'd prefer it if they stayed all DLLs.
The user gets a folder with the .exe, all DLLs and all resources when he hits the "compile" button in the editor. He just has to package that folder. With all due respect, if a user is too stupid to select all files for zipping/raring or just zip/rar the whole folder, then they deserve it that their game doesn't work. :/

EDIT: Actually I've just found a good reason against statical linkage. I've spend a few hours trying to compile zlib and the Ruby C extension statically and it was hell. In the end, I didn't succeed. Compiling statically linked libraries with dependence seems to be quite problematic during link time. I had to problems linking to the DLL, but there was no way I could make it link to the static library properly. Let's just ditch static linkage.
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

very well. I guess this is what they call dependency hell?
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.