首页 > 其他分享 >gcc-13.2 grpc 编译错误(absl-cpp build fails)

gcc-13.2 grpc 编译错误(absl-cpp build fails)

时间:2024-11-11 20:17:07浏览次数:3  
标签:gcc abseil grpc enum fails absl internal cpp class

使用gcc-13.2编译absl-cpp会出现以下报错
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:6: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   34 | enum class FormatConversionChar : uint8_t;
      | ~~~~ ^~~~~
      |      -----
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:33: error: found ‘:’ in nested-name-specifier, expected ‘::’
   34 | enum class FormatConversionChar : uint8_t;
      |                                 ^
      |                                 ::
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:34:12: error: ‘FormatConversionChar’ has not been declared
   34 | enum class FormatConversionChar : uint8_t;
      |            ^~~~~~~~~~~~~~~~~~~~
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:35:6: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
   35 | enum class FormatConversionCharSet : uint64_t;
      | ~~~~ ^~~~~
      |      -----
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:35:36: error: found ‘:’ in nested-name-specifier, expected ‘::’
   35 | enum class FormatConversionCharSet : uint64_t;
      |                                    ^
      |                                    ::
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:35:12: error: ‘FormatConversionCharSet’ has not been declared
   35 | enum class FormatConversionCharSet : uint64_t;
      |            ^~~~~~~~~~~~~~~~~~~~~~~
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:131:6: warning: elaborated-type-specifier for a scoped enum must not use the ‘class’ keyword
  131 | enum class Flags : uint8_t {
      | ~~~~ ^~~~~
      |      -----
third_party/abseil-cpp/absl/strings/internal/str_format/extension.h:131:18: error: found ‘:’ in nested-name-specifier, expected ‘::’
  131 | enum class Flags : uint8_t {
      |                  ^
      |                  ::

解决办法:

前往third_party/abseil-cpp/absl/strings/internal/str_format/extension.h该文件,添加一行代码

 #define ABSL_STRINGS_INTERNAL_STR_FORMAT_EXTENSION_H_
 
 #include <limits.h>
+#include <stdint.h> //在这个位置添加这行代码
 
 #include <cstddef>
 #include <cstring>

转载自:0001-absl-strings-internal-str_format-extension.h-add-mis.patch « abseil-cpp « abseil-cpp « recipes-devtools « meta-oe - meta-openembedded - Collection of OpenEmbedded layers

标签:gcc,abseil,grpc,enum,fails,absl,internal,cpp,class
From: https://blog.csdn.net/sandmana/article/details/143688822

相关文章

  • gcc 1.c和g++ 1.c有什么区别?gcc 1.cpp和g++ 1.cpp有什么区别?GCC和G++有什么区别?
    gcc1.c和g++1.c有什么区别?先假设1.c只有C语言语法,不涉及C++语法,我们利用-E/-S指令对比二者编译过程中的差异。Basedongcc11.4.0andg++11.4.0.#include<stdio.h>intmain(){    shorta=100;    printf("%d",a);    r......
  • gcc 1.c和g++ 1.c编译阶段有什么区别?如何知道g++编译默认会定义_GNU_SOURCE?
    gcc1.c和g++1.c编译阶段有什么区别?借用 gcc1.c和g++1.c有什么区别? 的示例代码,以汇编代码为比较目标,再经过汇编,最后生成ELF文件,三个过程结果均无差异,这个阶段充分证明了c和c++是多么相似。编译到汇编gcc-S1.c-o1.sg++-S1.c-o11.s .file "1.c"......
  • 浅谈单片机的gcc优化级别__以双音频信号发生器为例
    IDE:  CLionHOST: Windows11MinGW:x86_64-14.2.0-release-posix-seh-ucrt-rt_v12-rev0GCC: arm-gnu-toolchain-13.3.rel1-mingw-w64-i686-arm-none-eabi一、简介        gcc有多种优化级别,一般不选择的情况下,IDE默认是按照-Og或这-O2优化的。        ......
  • ARM和GCC优化等级optimization level
    参考链接:ArmCompilerforEmbeddedUserGuideOptimizeOptions(UsingtheGNUCompilerCollection(GCC)) ARM优化等级参考: ARM建议使用: 以下为STM32CUBEIDE中的优化等级,使用的时GCC12工具链: 在需要进行Debug时,不建议开启任何优化:STM32CubeIDEusergu......
  • Linux离线安装gcc4.8
    Linux离线安装gcc4.8https://pan.baidu.com/s/1J-wVsAoTmfn_iiOnYSrmZApwd:beeelinux离线安装gcc4.8.5(简单易懂,已成功安装)联网的情况下直接使用命令yum-yinstallgcc安装。不能联网就需要离线安装了。步骤如下:获取离线安装包:可以使用我已经下载好的包,链接:https://p......
  • gRPC说明及使用(java版)
    官方文档:https://grpc.io/docs/what-is-grpc/introduction/一gRPC允许你定义四种服务方法:一元RPC,其中客户端向服务器发送单个请求并得到单个响应,就像普通函数调用一样。rpcSayHello(HelloRequest)returns(HelloResponse);服务器流式RPC中,客户端向服务器发送请......
  • Google远程过程调用-GRPC
    前言HTTP/2是HTTP协议的第二个主要版本,它在HTTP/1.x的基础上引入了许多改进,以提高网络性能和效率。以下是HTTP/2与HTTP/1.x之间的一些主要区别:•二进制协议:•HTTP/2:采用二进制格式,而不是HTTP/1.x的文本格式。这使得解析更快、更高效。•HTTP/1.x:基于文本的协议,......
  • Linux系列-gcc/g++的使用
    ......
  • python调用grpc请求
    gRPC是一款高性能、开源的RPC框架,支持多种编程语言。Protobuf是gRPC使用的默认序化协议,可以将结构化数据序列化为二进制格式,提高数据传输效率。在Python中使用gRPC调用服务时,通常需要先定义协议缓冲区(ProtocolBuffers)消息类型,这些类型是从.proto文件生成的。当你准备调用一个gRP......
  • grpc的数据传输格式protobuf你了解吗?
    文章目录前言一、grpc为什么要选择protobuf?二、Varint编码2.1字节序2.2定长编码2.3变长编码2.4有符号数的编码三.EncodingTag例子解析字段嵌套的情况repeated字段注意四:Decoding参考资料总结前言本文档主要讲解protobuf中基础的编码规则。先整体描述protobuf数......