Darel - 2009-09-04

I, d.henman wrote:
> g++  -g -O2  -L../mpegsound -L../nmixer -o nmixer.exe main.o -lncurses  -lnmixer -lpthread -lm -lao -lpthread
> ../nmixer/libnmixer.a(nmixer.o): In function `_ZN6NMixer14DrawFixedStuffEv':
> /usr/src/mp3blaster/mp3blaster-3.2.5/nmixer/nmixer.cc:528: undefined reference to `_mvwprintw'

Chuck replied:
mp3blaster is making an assumption that is valid only on linux: that
library order doesn't matter.  On windows, it does.  Notice:

../nmixer/libnmixer.a(nmixer.o): ...  undefined reference to ...

means that the *library*, libnmixer, has the reference to a missing
symbol.  That symbol is actually in libncurses, which means that
-lncurses must come *after* libnmixer on the link command.  Thus...

g++  -g -O2  -L../mpegsound -L../nmixer -o nmixer.exe main.o  -lnmixer
-lncurses -lpthread -lm -lao -lpthread

should work (swap -lnmixer and -ncurses)


d.henman writes:
   In order to maintain successfull building over multiple platforms (well at least one more, cytwin) please change the argument order.

  darel henman