金庆的专栏

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  423 随笔 :: 0 文章 :: 454 评论 :: 0 Trackbacks
VC2008编译libthrift

(金庆的专栏)

thrift只提供了VC2010的sln文件。

用Project From Existing Code... 创建工程。
将 cpp/src/thrift 加入工程。

在Solution Explorer中,
去除 qt 目录。

添加 boost 包含目录。

添加 src 为包含目录,不然 #include <thrift/Thrift.h> 出错。

VC2008缺少 stdint.h, 创建到thrift/windows目录下,并添加为include目录。

#pragma once
#include <boost/cstdint.hpp>
typedef boost::int8_t int8_t;
...
typedef boost::uint64_t uint64_t;

#define INT8_MIN (-128)
...
#define UINT64_MAX (UINT64_C(18446...))

去除VC2010 thrift.sln中没有的文件,无法编译:
Mutex.cpp, PosixThreadFactory.cpp, Monitor.cpp
TEvhttpClientChannel.cpp TEvhttpServer.cpp
TServer.cpp TNonblockingServer.cpp
TSSLSocket.cpp TSSLServerSocket.cpp
TZlibTransport.cpp


加上宏 HAVE_CONFIG_H, 或者 force include force_inc.h.

windows/tr1/functional中
#include <functional>
改为
#include <boost/tr1/functional.hpp>
posted on 2013-05-10 09:15 金庆 阅读(1376) 评论(0)  编辑 收藏 引用 所属分类: 1. C/C++2. 网游开发

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理