Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente |
prog:iwyu [2023/01/18 11:45] – [Options] : ajout de "Qt" dans les suppressions root | prog:iwyu [2024/02/23 16:28] (Version actuelle) – Ajout des options à l'exécution root |
---|
| |
<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> |
| |
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==== |
| |
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. | 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 optimiser pour ça. Il est conseillé de tout remplacer tous les ''%%"@[\"<](Qt3DCore/)?qcomponent\\.h[\">]"%%'' par ''%%"<qcomponent.h>"%%'' et éventuellement d'ajuster en fonction des premiers résultats. | 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. |