关于编译报错fatal error: benchmark/benchmark.h: No such file or directory的求助
解决 "fatal error: benchmark/benchmark.h: No such file or directory" 错误
Hey there! Let's break down this error and fix it step by step:
错误含义
这个报错其实很直白:你的编译器在它默认搜索的头文件路径里,找不到benchmark/benchmark.h这个文件。这里要提醒你一下——Google Protobuf和Google Benchmark是完全独立的两个库,你刚装的Protobuf和这个报错没有关系哦,别把它们混在一起啦。
解决步骤
第一步:确认是否安装了Google Benchmark库
如果还没装,根据你的操作系统选对应的安装方式:- Ubuntu/Debian系Linux:
sudo apt-get install libbenchmark-dev - macOS(使用Homebrew):
brew install google-benchmark - 源码编译安装:如果是从GitHub拉取源码自行编译的,记得执行
make install把库文件和头文件放到系统默认路径(比如/usr/local),或者记下你自定义的安装路径。
- Ubuntu/Debian系Linux:
第二步:如果已安装但仍报错,编译时需指定库路径
要是已经装了Benchmark但编译器还是找不到,说明你在编译命令里没告诉它库的位置:- 用g++直接编译时,要加上头文件搜索路径和链接参数:
(如果是默认路径安装,g++ your_code.cpp -o your_program -I/path/to/benchmark/include -L/path/to/benchmark/lib -lbenchmark -lpthread-I和-L参数可以省略,直接加-lbenchmark -lpthread即可) - 用CMake构建项目时,在
CMakeLists.txt里添加:find_package(benchmark REQUIRED) target_link_libraries(your_target_name PRIVATE benchmark::benchmark)
- 用g++直接编译时,要加上头文件搜索路径和链接参数:
按照上面的步骤操作,应该就能解决找不到头文件的问题啦!
内容的提问来源于stack exchange,提问作者M R
相关产品推荐
相关产品推荐

