On Tuesday 27 May 2014 14:21:40 Thiago Macieira wrote: > Hello > > This is your friendly note that all Qt modules that don't have C or assembly > code are now using precompiled headers. I've tested this solution for a > couple of months with GCC on Linux, Clang on Linux, Clang on Mac and the > Intel compiler on Linux. > > As it turns out, I didn't test it in all modules with Visual Studio. I've > just fixed one problem in QtScript and we have one left in qtlocation for > QtLocation which makes no sense to me and I can't reproduce. > > This change does *not* enable precompiled headers by default. You still need > to pass -pch to the configure script or to configure.exe in order to get > them. It simply creates a precompiled header for the modules that didn't > previously define one, unless explicitly overridden. > > When you should override: > - when you have C, Objective C (not Objective C++) or assembly sources > [done for all current modules] > - when you need to do ugl^H^H^Hclever hacks with preprocessing that not > even NO_PCH_SOURCES can help > [no known instance] > - when you have a better precompilation source than the default
Hey Thiago, I have an issue with PCH's. I do not pass the -pch flag to configure, yet still I regularly get build errors like the following, even on clean builds: In file included from <command-line>:0:0: /usr/include/stdc-predef.h:59:1: error: one or more PCH files were found, but they were invalid #endif ^ /usr/include/stdc-predef.h:59:1: error: use -Winvalid-pch for more information /usr/include/stdc-predef.h:59:1: fatal error: .pch/Qt5Quick: No such file or directory compilation terminated. The above is from QtDeclarative (dev branch), but I've also seen it in QtBase and QtXMLPatterns, even while doing "make install" after a successful make... It seems to be related to the number of jobs running, a "make -j1" seems to work most of the time, yet a "make -j40" on a compile cluster fails most of the time. It is pretty random, as it fails on different files across rebuilds. I guess, if I'd run a make in a for loop until if finished successfully it might work eventually but of course that is not an option. I'm now trying to explicitly disable pch with -no-pch in QtBase and see whether that makes a difference. Considering that I did not pass -pch before, I wonder if it makes any difference... Did anyone ever see such an issue? What am I doing wrong? I'm building Qt5 dev branches with gcc 4.9.0 over icecream on an up2date ArchLinux system. Bye -- Qt Developer Days 2014 - October 6 - 8 at BCC, Berlin Milian Wolff | milian.wo...@kdab.com | Software Engineer KDAB (Deutschland) GmbH&Co KG, a KDAB Group company Tel. Germany +49-30-521325470, Sweden (HQ) +46-563-540090 KDAB - Qt Experts - Platform-independent software solutions _______________________________________________ Development mailing list Development@qt-project.org http://lists.qt-project.org/mailman/listinfo/development