在windows中运行不同的makefile

本文关键字:makefile 运行 windows | 更新日期: 2023-09-27 18:06:07

我已经下载了Apache Thrift并创建了一个可以很好地生成代码的Thrift文件(我使用csharp)。我现在已经到了在我的Visual Studio项目中包括Thrift的阶段(我使用的是2013年的版本),我被困在如何做到这一点。

Thrift包含了我需要的所有源文件,但是仅仅将它们复制到Visual Studio中就会产生大量错误。我注意到源代码附带了几个Makefile:和一个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.

在windows中运行不同的makefile

正如你所看到的,这些错误只是基本的语法错误。

仍然是一个好主意,张贴源代码的错误消息。我们不喜欢猜测,因为它效率极低。你需要快速的帮助,不是吗?

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

首先,我不确定为什么你需要一个makefile。您可以通过在预构建步骤中调用Thrift轻松地获得相同的结果。我通过批处理文件来完成,这给了我足够的过程控制。但是,是的,您当然也可以在这里调用nmake -f makefile,但请注意,在makefile之后没有扩展名

简单地说,没有花费太多的时间在细节上,makefile.ammakefile.in是典型的GNU自动生成文件。粗略地说,在bootstrap.sh && configure期间,这些makefile.am文件被转换成makefile.in文件,最后被转换成makefile文件,然后被make或等效的工具使用。

但老实说,在Windows平台上,GNU automake是我会考虑的最后选择——如果有任何其他可用的选项,选择那个。

最后,教程,库和测试*。csproj文件至少展示了一种在预构建步骤中集成Thrift的方法。