金庆的专栏

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

需flex, bison.
bison依赖m4, regex.

Pre-Build event 中 flex 命令有误,-o与参数间不应该有空格。

flex -o"src\\thriftl.cc" src/thriftl.ll
bison -y -o "src\thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy

compiler\cpp\src\thriftl.cc(26): fatal error C1083: Cannot open include file: 'unistd.h': No such file or directory
需手工处理。

http://svn.apache.org/repos/asf/thrift/attic/trunk/compiler/cpp/README_Windows.txt

Building the Thrift IDL compiler in Windows
-------------------------------------------

The Visual Studio project contains pre-build commands to generate the
thriftl.cc, thrifty.cc and thrifty.h files which are necessary to build
the compiler. These depend on bison, flex and their dependencies to
work properly. If this doesn't work on a system, try these manual
pre-build steps.

Open compiler.sln and remove the Pre-build commands under the project's
 Properties -> Build Events -> Pre-Build Events.

Download flex & bison from http://jaisantonyk.wordpress.com/2008/03/16/lex-and-yaccbison-in-windows/
Download bison.simple in addition to bison.exe . This build of bison is easier to use
than the one on sourceforge which has a myriad of dependencies.
Place these binaries somewhere in the path.

From a command prompt:
> cd thrift/compiler/cpp
> flex -osrc\thriftl.cc src\thriftl.ll
In the generated thriftl.cc, comment out #include <unistd.h>

Place a copy of bison.simple in thrift/compiler/cpp
> bison -y -o "src/thrifty.cc" --defines src/thrifty.yy
> move src\thrifty.cc.h  src\thrifty.h

Download inttypes.h from the interwebs and place it in an include path
location (e.g. thrift/compiler/cpp/src).

Build the compiler in Visual Studio.
posted on 2013-06-03 10:18 金庆 阅读(1087) 评论(0)  编辑 收藏 引用 所属分类: 1. C/C++

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