前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用thrift大量编译警告消息方法

使用thrift大量编译警告消息方法

作者头像
一见
发布2018-08-07 17:01:00
6250
发布2018-08-07 17:01:00
举报
文章被收录于专栏:蓝天蓝天

https://issues.apache.org/jira/browse/THRIFT-1824

背景: 当在使用thrift时,如果我们的代码也采用automake方式编译,这样就存在config.h文件冲突,原因是thrift的Thread.h文件include它时,没有目录修饰。 config.h: 在成功编译thrift后,会在它的thrift目录下生成一个config.h文件,这个文件实际是由automake产生的,如下所示 : > ls thrift async        config.h   protocol  server                   TDispatchProcessor.h  TLogging.h    transport concurrency  processor  qt        TApplicationException.h  Thrift.h              TProcessor.h  TReflectionLocal.h concurrency/Thread.h: 在Thread.h头文件中会包含这个头文件,遗憾的是Thread.h是对外的公共文件,也就是使用thrift会直接看到它,而config.h被include时,未加任何目录修饰,这就是收到大量编译警告的原因。 #ifdef HAVE_CONFIG_H #include #endif ERROR MESSAGE: 只需要将Thread.h中的#include 注释掉,下面的大量编译警告即可消息,而且thrift编译也没有问题。 make[2]: Entering directory `@_@' if g++ -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -I../../../third-party/boost/include -I../../../third-party/thrift/include -I../../../third-party/sqlite/include -I../../../third-party/gflags/include -I../../../third-party/glog/include -I../../../third-party/libevent/include -I../../../third-party/mysql/include    -D_GNU_SOURCE -rdynamic -Wall -fPIC -g -MT ExecutorService_server.skeleton.o -MD -MP -MF ".deps/ExecutorService_server.skeleton.Tpo" -c -o ExecutorService_server.skeleton.o `test -f './ExecutorService_server.skeleton.cpp' || echo './'`./ExecutorService_server.skeleton.cpp; \ then mv -f ".deps/ExecutorService_server.skeleton.Tpo" ".deps/ExecutorService_server.skeleton.Po"; else rm -f ".deps/ExecutorService_server.skeleton.Tpo"; exit 1; fi In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:44:1: warning: "PACKAGE" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:263:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:47:1: warning: "PACKAGE_BUGREPORT" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:266:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:50:1: warning: "PACKAGE_NAME" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:269:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:53:1: warning: "PACKAGE_STRING" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:272:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:56:1: warning: "PACKAGE_TARNAME" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:275:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:59:1: warning: "PACKAGE_VERSION" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:281:1: warning: this is the location of the previous definition In file included from ../../../third-party/thrift/include/thrift/concurrency/Thread.h:28,                  from ../../../third-party/thrift/include/thrift/server/TServer.h:26,                  from ../../../third-party/thrift/include/thrift/server/TSimpleServer.h:23,                  from ./ExecutorService_server.skeleton.cpp:6: ../../config.h:65:1: warning: "VERSION" redefined In file included from ../../../third-party/thrift/include/thrift/TLogging.h:24,                  from ../../../third-party/thrift/include/thrift/Thrift.h:51,                  from ../../../third-party/thrift/include/thrift/transport/TTransport.h:23,                  from ../../../third-party/thrift/include/thrift/protocol/TProtocol.h:23,                  from ../../../third-party/thrift/include/thrift/TProcessor.h:24,                  from ../../../third-party/thrift/include/thrift/TDispatchProcessor.h:22,                  from ./ExecutorService.h:10,                  from ./ExecutorService_server.skeleton.cpp:4: ../../../third-party/thrift/include/thrift/config.h:327:1: warning: this is the location of the previous definition

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2013-01-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档