Il faut mettre dans le fichier ''PCH'' les entêtes qui ne changent presque jamais pendant la période de développement, à savoir : * tous les fichiers entêtes systèmes, * presque tous les fichiers entêtes des librairies tiers (boost, …) * en fonction des modifications prévues pendant le développement, les entêtes des projets auxiliaires, * ne pas inclure les fichiers entêtes du projet en cours. Ma vision est partagé par le projet [[https://cgit.freedesktop.org/libreoffice/core/tree/sw/inc/pch/precompiled_sw.hxx|LibreOffice]] {{ :lang:cpp:pch:precompiled_sw.hxx |Archive le 11/11/2019}}. Il suffit qu'un seul fichier entête du PCH ou un de ses dépendances soit modifié pour nécessiter de recompiler le fichier PCH. [[http://llunak.blogspot.com/2019/05/why-precompiled-headers-do-not-improve.html|Why precompiled headers do (not) improve C++ compile times]] {{ :lang:cpp:pch:llunak_why_precompiled_headers_do_not_improve_c_compile_times_2019-11-11_20_43_56_.html |Archive du 23/05/2019 le 11/11/2019}} [[http://llunak.blogspot.com/2019/11/clang-precompiled-headers-and-improving.html|Clang precompiled headers and improving C++ compile times, take #2]] {{ :lang:cpp:pch:llunak_clang_precompiled_headers_and_improving_c_compile_times_take_2_2019-11-11_20_44_06_.html |Archive du 09/11/2019 le 11/11/2019}} ====cmake==== Le fichier PCH est généré par la fonction ''target_precompile_headers''.