我有VS2010,并且已经从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项目,并且能够成功地生成两个库文件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.请给出建议
提前谢谢你们..
发布于 2012-03-16 20:10:09
Thrift Exe是Apache Web上提供的Win32编译的可执行文件,因此您可以直接使用从Thrift文件创建自动生成的代码,带有language Thrift -c java tezt.thrift所需的标志,然后可以使用in for IPC。
发布于 2017-09-03 00:50:58
从thrift版本0.10.0开始
thrift编译器项目是compiler\cpp\compiler.vcproj。它依赖于Flex和Bison (Windows的WinFlexBison),这就是错误所表明的。
或者,也可以使用CMake文件生成visual studio解决方案。
有关详细说明,请参阅Apache Thrift on Windows。
https://stackoverflow.com/questions/8494093
复制相似问题