linux centos 致命错误:google/protobuf/stubs/common.h:没有那个文件或目录

1. 官网下载v3.0.0.tar.gz;

地址:https://github.com/protocolbuffers/protobuf/archive/v3.0.0.tar.gz
2. 解压到指定目录;

tar -zxvf v3.0.0.tar.gz 

note:tar -zxvf 为解压指令 例如: tar -zcvf v3.0.0.tar.gz  ./ (解压到当前文件夹)

            tar -zcvf 压缩指令 例如: tar -zcvf v3.0.0.tar.gz protobuf-3.0.0  (v3.0.0.tar.gz 是压缩文件名 swig-3.0.12 被压缩文件)

3、进入解压后的目录,依次运行指令:

./autogen.sh

4.如果出现Google Mock not present.  Fetching gmock-1.7.0 from the web...

则修改autogen.sh

vim autogen.sh
在文中加入 加粗的字段

if test ! -e gmock -o   && ! -e googlemock-release-1.7.0; then
   echo "Google Mock not present.  Fetching gmock-1.7.0 from the web..."
   curl $curlopts -L -O https://github.com/google/googlemock/archive/release-1.7.0.zip
   unzip -q release-1.7.0.zip
   rm release-1.7.0.zip
   mv googlemock-release-1.7.0 gmock

   curl $curlopts -L -O https://github.com/google/googletest/archive/release-1.7.0.zip
   unzip -q release-1.7.0.zip
   rm release-1.7.0.zip

   mv googletest-release-1.7.0 gmock/gtest
 fi

然后再次执行autogen.sh

make && make install

你遇到的错误是因为在CentOS 8中缺少了pcieport_if.h文件。pcieport_if.h是Linux内核的一部分,它包含了与PCI Express(PCIe)端口相关的接口定义。 要解决这个问题,你可以尝试以下几种方法: 1. 安装适当的内核开发包:首先,确保你已经安装了内核开发包。使用以下命令安装: ``` sudo dnf install kernel-devel ``` 这将安装与你当前运行的内核版本相对应的内核开发包,其中也包括pcieport_if.h文件。 2. 更新系统:运行以下命令更新系统,以确保你的系统已经获取了最新的软件包和内核更新: ``` sudo dnf update ``` 更新完系统后,再次尝试编译或安装软件,看看是否仍然缺少pcieport_if.h文件。 3. 检查内核配置:如果上述方法仍然无法解决问题,可能是由于你的内核配置不包含pcieport_if.h文件。你可以尝试检查内核配置并确保已启用PCIe端口支持。你可以在`/usr/src/kernels/`目录到你当前运行的内核配置文件。检查是否存在以下配置选项: ``` CONFIG_PCIEPORTBUS=y ``` 如果选项被注释掉(以#开头),则需要编辑内核配置文件并重新编译内核。 请注意,编辑和重新编译内核是一项复杂的任务,如果你不熟悉此过程,建议在进行任何更改之前备份重要数据并谨慎操作。 希望这些方法能够帮助你解决缺少pcieport_if.h文件的问题。如果问题仍然存在,请提供更多详细信息,以便我能够更好地帮助你。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值