Outils pour utilisateurs

Outils du site


prog:iwyu

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
prog:iwyu [2023/01/18 11:37] – Réorganisation rootprog:iwyu [2024/02/23 16:28] (Version actuelle) – Ajout des options à l'exécution root
Ligne 14: Ligne 14:
  
 <code bash> <code bash>
-iwyu_tool -p . -- -Xiwyu --mapping_file="$(pwd)/../.iwyu-suppressions"+iwyu_tool -p . -- -Xiwyu --mapping_file="$(pwd)/../.iwyu-suppressions" > fix.log
 </code> </code>
  
Ligne 21: Ligne 21:
 Le dossier spécifié par ''-p'' est celui qui contient le fichier ''compile_commands.json''. Le dossier spécifié par ''-p'' est celui qui contient le fichier ''compile_commands.json''.
  
 +  * Option d'exécution
 +
 +Si vous préférez les entêtes aux ''forward declaration'', il faut ajouter l'option ''%%--no_fwd_decls%%''.
 +
 +Par défaut, iwyu va analyser tous les fichiers sources (''.cpp'', ''.cc'', ...) depuis le fichier ''compile_commands.json''. Les fichiers entête analysés doivent avoir le même nom (hors extension) que celui du fichier contenant le code source. Si on veut analyser d'autres fichiers, il faut utiliser l'option ''%%-Xiwyu --check_also="*path/*.h"%%'' (format wildcard). Les ''%%--check_also%%'' sont cumulables.
 +
 +  * Application des résultats
 +
 +<code bash>
 +fix_includes.py --nosafe_headers < fix.log
 +</code>
 +
 +Par défaut, les headers ne sont pas modifiés. Il faut ajouter l'option ''%%--nosafe_headers%%''.
 ====Options==== ====Options====
  
Ligne 38: Ligne 51:
 Dans la seconde partie ''public'', on met le nom du juste entête. Dans la seconde partie ''public'', on met le nom du juste entête.
  
 +  * Qt
 +
 +Dans le code source, il y a un script ''mapgen/iwyu-mapgen-qt.py'' qui permet de générer du fichier de correspondance. Il est impératif de l'utiliser avec la version exacte de Qt.
 +
 +Attention, tout est codé en expression régulière et ''iwyu'' n'est pas du tout optimisé pour ça. Il est conseillé de remplacer tous les ''%%"@[\"<](Qt3DCore/)?qcomponent\\.h[\">]"%%'' par ''%%"<qcomponent.h>"%%'' et éventuellement d'ajuster en fonction des premiers résultats.
prog/iwyu.1674038263.txt.gz · Dernière modification : 2023/01/18 11:37 de root