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
