Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'

Thrift-0.10.0 CenOS 7 编译错误 error: expected ‘)‘ before ‘PRIu32‘

  在编译Thrift的时候,无论是Apache官网tar包,还是Github镜像,都会出现各种错误,其中一个比较头疼的就是标题描述的编译错误,经过捣鼓,终于妥协性的搞定了。

  make时的错误描述: 

    src/thrift/server/TNonblockingServer.cpp: In member function ‘void apache::thrift::server::TNonblockingServer::TConnection::workSocket()‘:
    src/thrift/server/TNonblockingServer.cpp:460:16: error: expected ‘)‘ before ‘PRIu32‘
    "(%" PRIu32 " > %" PRIu64

  问题原因:

    使用PRIu32进行格式化的输出的时候需要引用:#include <inttypes.h>

    需要同时增加编译宏:__STDC_FORMAT_MACROS

    但是这里有一个问题,这个编译宏必须添加在#include <inttypes.h>之前,否则无效,如果工程比较大的时候,这样就需要保证在第一次引用#include <inttypes.h>之前添加这个编译宏。

    详细信息可以参考stackoverflow

  问题解决方法:

    这个错误出现在编译 src/thrift/server/TNonblockingServer.cpp 文件时,但是在这个文件中的#include <inttypes.h>之前增加编译宏 __STDC_FORMAT_MACROS 是不起作用的,最后搜索了所有包含inttypes.h的所有文件,尝试着更改了文件:src/thrift/Thrift.h,最后编译成功,更改内容如下:

    #ifdef HAVE_INTTYPES_H

    #define __STDC_FORMAT_MACROS

    #include <inttypes.h>
    #endif

Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'

时间: 2024-10-08 16:44:52

Thrift-0.10.0 CenOS 7 编译错误 error: expected ')' before 'PRIu32'的相关文章

android 编译错误 Error:(1, 0) Plugin with id &#39;com.android.application&#39; not found.

在导入一个项目时,由于它本身的gradle版本比较高,你试用比较旧版本的gradle时就报出Plugin with id 'com.android.application' not found.的错误 如果出现如上错误,只需要在build.gradle中添加下面代码即可: (直接加在 android{ } 的外面) buildscript { repositories { jcenter() // or mavenCentral() } dependencies { classpath 'com

kafka0.9.0及0.10.0配置属性

问题导读 1.borker包含哪些属性?2.Producer包含哪些属性?3.Consumer如何配置? borker(0.9.0及0.10.0)配置Kafka日志本身是由多个日志段组成(log segment).一个日志是一个FileMessageSet,它包含了日志数据以及OffsetIndex对象,该对象使用位移来读取日志数据 * borker配置就是指配置server.properties文件 * 最小配置 通常情况下需要在减压缩kafka后,修改config/server.proper

【实战笔记】锦标赛0.10$+0.01$ 第446名

手牌A8s,筹码只有3个大盲了,在cut-off位置,前面所有人都fold,只有上家miausita跟了一个大盲,这个时候我选择了all-in搏一把,果然如预期,除了miausita其他人都fold了. 结局是悲催的,被人主宰踢脚然后出局了.现在回顾这个牌局,总的是没有什么遗憾的,运气不在我这一边.以事后诸葛亮的角度,这个时候ante是60,我手里筹码还有1960,坚持10个hand不是问题,A8s的踢脚还是太小,应该等到一副对子或者有个大点的踢脚才放手一搏的. ----------------

Kafka版本升级 ( 0.10.0 -&gt; 0.10.2 )

升级Kafka集群的版本其实很简单,核心步骤只需要4步,但是我们需要在升级的过程中确保每一步操作都不会"打扰"到producer和consumer的正常运转.为此,笔者在本机搭了一个测试环境进行实际的版本升级实验.在开始之前,简要介绍一下测试环境的部署情况及目标:Kafka 0.10.0.0 双broker测试环境,而目标是把该集群升级到0.10.2版本 两个broker启动时分别读取server.properties和server2.properties. 一.启动测试环境打开两个终

jni 编译错误error: unknown type name &#39;__va_list&#39;

platforms\android-9\arch-arm\usr\include\stdio.h:257:37: error: unknown type name '__va_list' 解决方法: 默认的android-9不兼容 Applicaton.mk  添加APP_PLATFORM := android-21 jni 编译错误error: unknown type name '__va_list'

bullet, iOS真机编译错误error: identifier or immediate expression expected解决方法

刚才发现c3dEngine2(http://git.oschina.net/wantnon2/c3dEngine2 或 https://github.com/wantnon2/c3dEngine2)的bulletTest1 demo在iOS真机上编译不过,报error: identifier or immediate expression expected的编译错误. google了一下,找到下面帖子:http://www.bulletphysics.org/Bullet/phpBB3/view

【转】ubuntu11.10 64bit 环境android编译错误

原文网址:http://blog.csdn.net/lmhgen/article/details/7326083 错误1: 注意:external/protobuf/java/src/main/java/com/google/protobuf/GeneratedMessageLite.java 使用了未经检查或不安全的操作. 注意:要了解详细信息,请使用 -Xlint:unchecked 重新编译.注意:external/protobuf/java/src/main/java/com/googl

Zend Studio9.0 10.0 11.0 所有版本破解补丁 无限期试用 注册码方法

破解Zend Studio三步曲 破解Zend Studio步骤1:关闭Zend Studio 破解Zend Studio步骤2:删除以下文件或者文件夹 文件夹:C:\Users\Administrator\.zend文件夹:C:\Users\Administrator\.ZendStudio文件:C:\Users\Administrator\.zs 破解Zend Studio步骤3:启动Zend Studio 完美解决Zend Studio破解.注册码.试用问题! 方案来源:http://my

Kafka 0.10.0.1 consumer get earliest partition offset from Kafka broker cluster - scala code

Return: Map[TopicPartition, Long] Code: val props = new Properties() props.put(ConsumerConfig.BOOTSTRAP_SERVERS_CONFIG, kafkaPara("bootstrap.servers").toString) props.put(ConsumerConfig.GROUP_ID_CONFIG, kafkaPara("group.id").toString)