节俭设置问题
Posted
技术标签:
【中文标题】节俭设置问题【英文标题】:thrift setup issue 【发布时间】:2011-12-13 18:15:06 【问题描述】:我有 VS 2010 并从 Apache Web 下载了所需的 tar 和 zip 文件。 thrift 文件夹中基本上有两个 VC++ 项目。一个在thrift-0.8.0\thrift-0.8.0\lib\cpp\thrift.sln
,另一个在thrift-0.8.0\thrift-0.8.0\compiler\cpp\compiler.sln
,所以基本上是两个项目。
我已经成功编译了thrift.sln
项目,并且能够成功生成两个lib 文件libthrift.lib
和libthriftnb.lib
。在此之后,我有几个问题。
a) 我现在如何生成这个thrift.exe
?
b) 我尝试编译 compiler.sln
项目,但出现以下错误:
Build started: Project: compiler, Configuration: Debug Win32 ------
flex' is not recognized as an internal or external command,
operable program or batch file.
bison' is not recognized as an internal or external command,
operable program or batch file.
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(103,5): error MSB3073: The command "flex -o "src/thriftl.cc" src/thriftl.ll
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(103,5): error MSB3073: bison -y -o "src/thrifty.cc" --defines="src/thrifty.h" src/thrifty.yy
C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.CppCommon.targets(103,5): error MSB3073: :VCEnd" exited with code 9009."
c) 我现在如何编译 thrift 文件?
出于测试目的,我直接从 Apache 网站下载了 thrift exe,并创建了一个示例 thrift 程序,但出现错误:
[ERROR:E:/thrift-0.8.0/thrift-0.8.0/lib/cpp/Debug/calculator.thrift:3] (last to
en was '02')
syntax error
[FAILURE:E:/thrift-0.8.0/thrift-0.8.0/lib/cpp/Debug/calculator.thrift:3] Parser
error during include pass.
请推荐 先谢谢各位了。。
【问题讨论】:
【参考方案1】:Apache Web 上提供的 Thrift Exe 是 Win32 编译的 Exe,因此您可以直接使用 Thrift 文件创建自动生成的代码,并带有所需的语言标志 Thrift -c java tezt.thrift,&然后可以用于IPC。
【讨论】:
【参考方案2】:从 0.10.0 版本开始
thrift 编译器项目是compiler\cpp\compiler.vcproj
。它依赖于 Flex 和 Bison(WinFlexBison for Windows),这就是错误所指示的。
或者,您可以使用 CMake 文件生成 Visual Studio 解决方案。
有关详细说明,请参阅Apache Thrift on Windows。
【讨论】:
以上是关于节俭设置问题的主要内容,如果未能解决你的问题,请参考以下文章