Chaos Project

Featured Projects => Advanced RPG Creator => ARC Reactor Engine => Topic started by: Ryex on November 17, 2011, 03:41:54 pm

Title: Statically linking all our libraries
Post by: Ryex on November 17, 2011, 03:41:54 pm
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.
Title: Re: Statically linking all our libraries
Post by: Blizzard on November 17, 2011, 03:59:01 pm
Actually it's practically the same thing. Explain what you mean with going wrong.
Title: Re: Statically linking all our libraries
Post by: Ryex on November 17, 2011, 04:07:20 pm
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.
Title: Re: Statically linking all our libraries
Post by: Blizzard on November 17, 2011, 05:25:12 pm
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.
Title: Re: Statically linking all our libraries
Post by: Ryex on November 22, 2011, 04:37:38 pm
very well. I guess this is what they call dependency hell?
Title: Re: Statically linking all our libraries
Post by: Blizzard on November 22, 2011, 05:21:27 pm
Seems like it. ._.