Re: win32 port of libglademm doesn't work

Michael J M Thomson <[email protected]> Fri, 20 May 2005 15:28:52 +1000
Newsgroups gmane.comp.gnome.gnomemm
Organization Little, if any.
Message-ID <[email protected]>
Viktor Dick wrote:
> Hey, Cedrig Gustin gave me the solution:
> under Windows the order of compiler and linker flags matters.
> So it is important to do give the LDFLAGS after the source files:
> $(GCC) $(CFLAGS) -o $(BIN) $(SRC) $(LDFLAGS)
> and not
> $(GCC) $(CFLAGS) $(LDFLAGS) -o $(BIN) $(SRC

Yes, in Makefiles though it's better to separate the compiling and linking 
concerns, then only the compiler or linker flags would be needed instead of 
both at once. E.g.:

exename: main.o Foo.o Bar.o
	$(CXX) $(LDFLAGS) $^ $(GTKMM_LIBS) $(BAZ_LIBS) -o $@
.cpp.o:
	$(CXX) $(CFLAGS) -c $< $(GTKMM_CFLAGS) $(BAZ_CFLAGS) -o $@

It also helps to invoke 'g++' for compiling C++ source rather than 'gcc'. :) 
I'm surprised that works for you at all. (If I had a dollar for the number of 
times I've accidentally used gcc for compiling C++ tests, and been baffled by 
it spitting out errors when there shouldn't be any...)

...Of course, there's always autotools. ;)

-- 
Michael J M Thomson (mjmt|doom|patient0)

Knock knock, Neo...
main(){int/* gcc matrix.c -o matrix */i=0,j,s[40]={0,},l[40];for(;;){s[i]||
(l[i]=s[i]=rand()%10);for(j=0;j<25;++j)printf("\x1b[%d;%dH\x1b[%d;3%cm%c",s
[i]+j,i*2+1,l[i]-j==1||l[i]-j!=2&&l[i]-j<6||l[i]-j>15&&l[i]-j<21||0,(l[i]-j
<3?7:(l[i]-j<16)*2)+'0',j<l[i]?rand()%93+33:32);s[i]*=++l[i]<25;i=++i%40;}}