include-what-you-use
Analyze #includes in C and C++ source files
Install
- All systems
-
curl cmd.cat/include-what-you-use.sh
- Debian
-
apt-get install iwyu
- Ubuntu
-
apt-get install iwyu
- Kali Linux
-
apt-get install iwyu
- Fedora
-
dnf install iwyu
- Windows (WSL2)
-
sudo apt-get update
sudo apt-get install iwyu
- Raspbian
-
apt-get install iwyu
- Dockerfile
- dockerfile.run/include-what-you-use
iwyu
Analyze #includes in C and C++ source files
"Include what you use" means this: for every symbol (type, function variable, or macro) that you use in foo.cc, either foo.cc or foo.h should #include a .h file that exports the declaration of that symbol. The include-what-you-use tool is a program that can be built with the clang libraries in order to analyze #includes of source files to find include-what-you-use violations, and suggest fixes for them. The main goal of include-what-you-use is to remove superfluous #includes. It does this both by figuring out what #includes are not actually needed for this file (for both .cc and .h files), and replacing #includes with forward-declares when possible.