include-what-you-use的使用

google发布的include-what-you-use的使用范例

官方文档

安装

按官方文档安装即可
其中有几点需要注意的:
* clang的版本问题
* `cmake -G "Unix Makefiles" -DIWYU_LLVM_ROOT_PATH=/usr/lib/llvm-6.0 ../include-what-you-use` 这个命令应该替换为`cmake -G "Unix Makefiles" .. -DIWYU_LLVM_ROOT_PATH=/usr/lib/llvm-6.0 ../include-what-you-use` 不然就不是在build目录下生成文件
* 最后执行sudo ln -s {生成的include-what-you-use的bin文件} /usr/bin/include-what-you-use,不然后续找不到对应的文件

使用按例

main.cpp

点击查看代码
#include<iostream>
#include"main.h"
// 注意不要使用using name space , 不然是没法提示的
int main()
{
    std::cout << "hello world" << std::endl;
    return 0;
}
CMakeLists.txt
点击查看代码
cmake_minimum_required(VERSION 3.3)
add_executable(hello main.cpp)

find_program(<iwyu_path> include-what-you-use [PATHS"build的文件夹"] REQUIRED)
set_property(TARGET hello PROPERTY CXX_INCLUDE_WHAT_YOU_SEE ${iwyu_path})

需要注意的地方: * CC="clang" CXX="clang++" cmake -DCMAKE_CXX_INCLUDE_WHAT_YOU_USE="/usr/bin/include-what-you-use;-Xiwyu;any;-Xiwyu;iwyu;-Xiwyu;args" .. cmake要这么使用,直接执行cmake . .. 的话,也没有办法提示 最后make的时候就会出现提示了: ![](https://img2020.cnblogs.com/blog/1341608/202112/1341608-20211202161005824-1374336156.png)
posted @ 2021-12-02 16:11  dreamcxy  阅读(594)  评论(0)    收藏  举报