Quoting Adriaan de Groot <groot at kde.org>:

> On Thursday 27 March 2008 17:05, Paul Floyd wrote:
> > Quoting Adriaan de Groot <groot at kde.org>:
> > > Building against current Dude packages in FOSS (of which x264 and xvid
> > > don't build because I have the wrong C++ compiler) I've pushed
> > > kdesupport, kdelibs kdepimlibs and kdebase forward to the point they
> > > compile (again, with the wrong compiler) and run. There's a really
> > > bizzarre error in kdebase where a C++ source file gets included three
> > > times (as per truss output) while it's not actually #included.
>
> The source layout has
>
> action_data.h
> action_data.cpp
> action_data_base.cpp
> action_data_group.cpp
>
> The three cpp files together are the implementation of the classes in
> action_data.h; there are also some templates in there. the three cpp files
> are compiled separately. You can find them in kdebase/workspace somewhere.
>
> > Does it have the same name as its implementation part? I.e., is there a
> > foo.h in the same directory as a foo.cpp, or similar? If so, try compiling
> > with -no%extdef to prevent the compiler from automatically looking for
> > template definitions.
>
> Hm, that's an interesting approach. I've currently got a hack in there that
> renames the .cpp files before starting the compile. That's done in
> Dude/Build/Makefile.kdebase. It's probably easier to rename than to adjust
> the CXXFLAGS for just one file (er, .. probably for every file that includes
> action_data.h).

I dunno. Per target variable modifictions are easy enough with GNU make:
E.g.,
action_data_base.o: CXXFLAGS += -no%extdef

You'll have to play around to see if that is easier/cleaner than renaming files
(assuming that it works as well).

A+
Paul

Reply via email to