The order that arguments are passed to g++ in the
linking phase (and therefor I assume to ld) can lead to
unresolved symbol errors that otherwise should not occur.
This bug was found using minGW, executed through MSYS
1.0 on windows XP pro.
Using the following entry for the linking phase in a
$(C++) $(LIBDIRS) $(LIBS) $(OBJS) -o $@
gives unresolved symbol errors for every symbol in the
libraries specified in $(LIBS)
$(C++) $(OBJS) $(LIBDIRS) $(LIBS) -o $@
However on a linux machine both examples compile
properly. Therefore I assume this is a minGW specific bug.