On Mon, May 08, 2006 at 12:10:41PM -0500, Bo Peng wrote:

> > I am letting the current build to be completed before doing anything
> > else. I notice that the moc'ed files are being compiled but they are
> > called moc_ModuleName.cc instead of ModuleName_moc.C as I was used
> > with the auto tools. I hope this is accounted for.
> > Then I also see that it is also trying to compile uic_ModuleName.cc
> > and this is completely new to me...
> 
> They are generated and handled by scons automatically so you should
> not have to worry about them.

I don't think so. Everything goes smooth until the final link step
which miserably fails with tons of undefined references.

These are partly due to the ordering of libraries in the link command
(-lz should go after -lboost_*), partly due to some missing
libraries (-lstdc++ -lcygwin -laspell), but the vast majority is
a problem with that "undefined reference to `vtable for ...'" thing.

Now, if I count the number of object files in a libqt3.a built with
autotools, I get:

$ ar t build/src/frontends/qt3/.libs/libqt3.a | wc -l
312

whereas, if I do the same with a SCons built libqt3.a, I get:

$ ar t release/cygwin-qt3-X11/libs/libqt3.a | wc -l
255

So it seems that 57 object files are missing.
All in all, SCons is not doing the right thing, apparently...
I wonder if this is a result of the failed recognition of *.C files
as C++ sources. As cygwin is pretty posix and in linux it seems
that the procedure works, I am inclined to think so.

I am sorry, but this first round goes to the auto tools...

-- 
Enrico

Reply via email to