在Windows中使用Makefile编译C源代码

6
我正在尝试在Windows上编译一个下载的程序。该程序通常在Linux上运行,但是也编写为在Windows上运行(代码中有#if defined(_WIN32)的内容,并声称可以使用borland免费工具)。当我尝试在命令行中使用make时,它告诉我“不正确的命令行参数:-C”。在makefile中,有许多行说“make -C”,后面跟着一个目录名称。这种语法在Windows中无效吗?有没有正确的方法来做到这一点?是否有任何方法使用此makefile在Windows本地使用下进行编译?

有些“make”命令对于在其makefile文件中的CR / LF非常挑剔。在某些情况下,我看到这是许多奇怪错误报告的原因。(尝试将你的Makefile转换为unix2dos格式) - Peter Miehle
请问您使用的是哪个软件?您尝试过执行以下命令吗?./configure make make install - Roman A. Taycher
3个回答

2

Windows本身没有自带make工具。微软有一个名为“nmake”的' make' 工具,该工具随其开发工具一起提供(如Visual Studio、Platform SDK或Windows Driver Kit)。

您可能需要GNU make来处理这些makefile。您可以在此处获取Windows的副本:

但是,如果makefile没有编写成可以在Windows上运行的形式,它很可能不会正常工作。您还需要确保您拥有makefile调用的其他开发工具(可能是Borland编译器或GCC),并且可能还需要针对您想要构建的项目进行其他特定配置。这可能不仅仅是拥有正确的make工具的问题。


1

-C 仅适用于 GNU 包中的 gmake 命令(更改工作目录)。您应该查看您的 Make 工具手册,看看它是否支持类似的功能。

Peter


0
你在使用cygwin吗? 有没有安装在Windows上的说明(也许在README文件中)?

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接