Windows和Apache Thrift可执行文件

我testing了Apache Thrift学习的简单程度,看起来很有希望。 一个主要问题:第一个教程不起作用…

我有Windows 7,Python 2.7,并获得了Windows v.0.9.1 Thrift .exe。 我宁愿不从源代码编译,因为我不使用Cygwin等。该exe文件给出了下面描述的问题。 所以我继续前进,并尝试使用巧克力安装使用cinst Thrift Thrift,这工作得很好,给了我Thrift v0.9.0。 但是这个版本的结果与exe相同,如下所述。

当我运行在http://thrift.apache.org/tutorial/pyfind的教程时,我得到以下内容:

C:\Users\Me\Desktop\Thrift>thrift -r --gen py tutorial.thrift [WARNING:C:/Users/Me/Desktop/Thrift/tutorial.thrift:59] Could not find include file shared.thrift [ERROR:C:/Users/Me/Desktop/Thrift/tutorial.thrift:123] (last token was 'shared.SharedService') Service "shared.SharedService" has not been defined. 

希望该exe文件适用于某人,因为我很乐意避免这种情况需要从源代码构build。

答案是,本教程假定您有一个包含两个.thrift文件的/ tutorial文件夹。 如果你走Windows EXE的路线,然后建立你的tutorial.thrift文件,你还需要添加shared.thrift可以在Git中找到在https://git-wip-us.apache.org/repos/asf? p = thrift.git; A = blob_plain; F =教程/ shared.thrift

将该文件保存在tutorial.thrift文件旁边,然后继续教程。

命令

 thrift -r --gen py tutorial.thrift 

使用-r[recurse]开关自动构建第二个包含的IDL文件shared.thrift 。 这个shared.thrift文件位于tutorial.thrift所在的文件夹中。 由于Thrift基于当前文件夹查找包含的文件,因此必须从该文件夹显式调用Thrift编译器。

假设您的Thrift工作副本位于C:\ Thrift下,并通过搜索路径可以访问thrift.exe ,打开命令提示符,导航到该文件夹​​并再次输入命令:

 C:\> cd Thrift\tutorial C:\Thrift\tutorial> thrift.exe -r --gen py tutorial.thrift 

PS:0.9.0略显过时。 0.9.1是好的,即将发布的0.9.2版本将有更多的改进。