在Windows中运行不同的makefile

时间:2015-08-02 10:07:01

标签: c# visual-studio makefile thrift

我已经下载了Apache Thrift并创建了一个很好地生成代码的thrift文件(我使用csharp)。我现在已经进入了在我的Visual Studio项目中包含Thrift的阶段(我使用的是2013版本)并且我仍然坚持如何做到这一点。

Thrift包含我需要的所有源文件,但只是将它们复制到Visual Studio会产生大量错误。我注意到源代码中有几个makefile:Makefile.am和Makefile.in。我试过跑:

nmake -f Makefile.am
nmake -f Makefile.in

但我不断收到语法错误。

非常感谢任何帮助。

以下是语法错误:

 Makefile.am(73) : fatal error U1034: syntax error : separator missing
Stop.

Makefile.in(16) : fatal error U1035: syntax error : expected ':' or '=' separator
Stop.

1 个答案:

答案 0 :(得分:1)

  

正如您所看到的,错误只是基本语法之一。

发布源错误消息仍然是一个好主意。我们不喜欢猜测,因为效率很低。你需要快速帮助,不是吗?

  

我需要的帮助是如何处理所有不同类型的makefile。

首先,我不确定为什么你需要一个makefile。您可以通过在预建步骤中调用Thrift轻松实现相同的结果。我是通过批处理文件来完成的,这使我可以对进程进行足够的控制。但是,是的,您当然也可以在此处致电nmake -f makefile,但请注意makefile之后无扩展名

简而言之,makefile.ammakefile.in通常是GNU automake文件,而且不会在细节上花费太多时间。粗略地说,在bootstrap.sh && configure期间,这些makefile.am文件将转换为makefile.in个文件,最后转换为makefile个文件,然后由make或等效工具使用。

但老实说,在Windows平台上,我认为GNU automake是最后的选择 - 如果有任何其他选项,请选择那个。

最后,教程,库和测试* .csproj文件至少显示了如何在预建步骤中集成Thrift的方法。