March 02, 2013
On Saturday, 2 March 2013 at 03:59:59 UTC, H. S. Teoh wrote:
> On Sat, Mar 02, 2013 at 04:17:10AM +0100, Rob T wrote:
>> In my case, the problem had to do with the order in which I was
>> linking my static libs, simply changing the order resolved the
>> undefined references. Turns out it's a common problem when working
>> with static libs and it's unrelated to D.
> [...]
>
> It's the linker's fault, not any compiler's. Symbols are resolved
> according to the order of modules you specify on the command-line, so
> order does matter, unfortunately.
>
> IMNSHO this is a silly design -- in this day and age, one would've
> expected better algorithms than that for linking -- but that's how it is
> right now.
>
>
> T

Maybe 20 years ago there was not enough cpu power to go around, but not anymore, so one would think this kind of problem could easily be resolved. It seems though, that most often dynamically loaded libs are used, not static, so perhaps the problems with static libs are due to it being not enough of a priority. Personally I prefer dynamically loaded libs and as soon as D supports it I'll be using them again almost exclusively.

--rt
1 2
Next ›   Last »