在Windows中从C ++应用程序进行Thrift调用

正如标题所说,我有一个使用C ++编写的Windows应用程序,我需要调用远程的Thrift服务,而且对于这个问题,我有点遗憾。 http://wiki.apache.org/thrift/ThriftInstallationWin32指出“Thrift C ++运行时库目前不能在Windows上工作”。 这是否意味着我不走运,还是有解决方法?

我将Thrift移植到了Windows / C ++中,用于我自己的应用程序。 它的开源,所以其他人可以自由使用它: http : //peoplesnote.codeplex.com/SourceControl/list/changesets

这可能不是一个优雅的解决方案,但至少它应该工作:

根据Thrift Wiki,有C#绑定,但他们确实应该被称为.NET绑定:没有什么C#特定于他们。 所以你可以在C ++ / CLI DLL库中实现你的通信库,并从你的非托管代码中引用.dll。

该页面看起来相当简单。 他们告诉你如何使Thrift编译器,但明确表示,它的元编码不会在Windows下编译。

所以,在某个人不知道如何在Windows下编译它的情况下,你倒霉了。

说实话,我不明白这是怎么回事,特别是因为Cygwin很好地提供了在Windows下编译UNIX源代码所需的一切。 我只能建议他们必须使用一些相当深奥的UNIX功能。

有很多方法可以从这里取得:

1 /由于它进入了Apache孵化器,可能有计划支持Windows(尽管我找不到)。 如果它确实是开源的,需要被确定,那么很可能有人会开始将运行时移植到Windows。 你可能无法等待。

2 /为什么世界需要另外一个 RPC机制。 但是,您可以使用已有的RPC机制(SUN / ONC)或您自己的RPC协议之一来将Windows机箱与UNIX机箱进行通信,然后通过Thrift转发RPC。 但是这是一个混乱,我不会做出原委。

除此之外,我可以建议的不多,对不起。 祝你好运。