如何在 Windows 中运行生成文件?
Posted
技术标签:
【中文标题】如何在 Windows 中运行生成文件?【英文标题】:How to run a makefile in Windows? 【发布时间】:2011-02-01 16:46:41 【问题描述】:我下载了一些演示,它们带有 Makefile.win 和 Makefile.sgi。如何在 Windows 中运行这些来编译演示?
【问题讨论】:
我应该提一下,我更像是一个 Linux 人,但我现在需要使用 Windows,所以我有点无能为力。 给出了非常清晰的指南here ***.com/questions/32127524/…的可能重复 【参考方案1】:如果您有 Visual Studio,请从“开始”菜单运行 Visual Studio 命令提示符,切换到包含 Makefile.win
的目录并键入:
nmake -f Makefile.win
您也可以使用普通命令提示符并运行 vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008)。这将设置环境以运行 nmake 并找到编译器工具。
【讨论】:
如何从开始菜单运行 Visual Studio 命令提示符? 好吧,我想通了。但当然它不会因为错误而编译。只是我的运气。不过还是谢谢。 对于那些使用 VS2012 的人,命令提示符称为“VS2012 的开发人员命令提示符”。开始-->搜索-->“命令”是我找到的。 @NSD:您可以尝试其他“make”,但这些文件通常是针对 nmake 的方言编写的,并且假设 VS 已安装并位于路径上。您可能会发现免费的VS Express 就足够了。 @MarceloCantos 我是 Linux 和 Make 的菜鸟。如果我有 .am 和 .mk 文件怎么办。我没有任何 .win 文件。我正在尝试制作 wget,顺便说一句。【参考方案2】:您可以使用维护良好的包管理器chocolatey 安装GNU make,它会将make
添加到全局路径并在所有 CLI(powershell、git bash、cmd 等)上运行,从而为您节省在维护和初始设置上花费大量时间来让 make 运行。
为Windows安装chocolatey package manager 兼容 Windows 7+ / Windows Server 2003+
运行choco install make
我不隶属于 choco,但我强烈推荐它,到目前为止它从未让我失望,而且我确实有无意破坏软件的天赋。
【讨论】:
你太棒了,非常感谢。就像在本机 Linux 环境中尝试 Makefile 一样运行,但在 Windows 中!使用 WSL 制作 gui Java 应用程序时遇到问题,但这使它使用 PowerShell 工作。 太棒了!你拯救了我的一天!【参考方案3】:查看cygwin,一个类似 Unix 的 Windows 环境
【讨论】:
cygwin 对我来说效果很好!。我只需要在安装过程中检查Devel
中的一些包:'make' 和'gcc',正如here 解释的那样。
我也推荐使用chocolatey安装cygwin,所以获取make
的命令是这样的:choco install make --source=cygwin
使用 choco 安装后,如何将其添加到我的命令 shell 中?有要添加的路径吗?
如果你是用choco安装的,那么在系统变量“C:\tools\cygwin\bin”中的路径变量中添加这一行(带引号)【参考方案4】:
查看GnuWin 的make (for windows),它为Windows 提供了本机端口(不需要像Cygwin 这样的完整运行时环境)
如果你有winget,你可以像这样通过 CLI 安装:
winget install GnuWin32.Make
另外,请务必将安装路径添加到您的系统PATH
:
C:\Program Files (x86)\GnuWin32\bin
【讨论】:
另外,请将“C:\Program Files (x86)\GnuWin32\bin”添加到您的系统路径中。 您可能还需要考虑更改安装目录以避免空格和括号cause issues running the CLI【参考方案5】:这是我运行 Makefile 的快速临时方法
从 SourceForge 下载 make:gnuwin32 安装它 进入安装文件夹将bin中的所有文件复制到Makefile所在的文件夹C:\Program Files (x86)\GnuWin32\bin
打开cmd (可以通过shift右键单击)在Makefile所在的文件夹中运行libiconv2.dll libintl3.dll make.exe
make.exe
完成。
另外,你可以在命令后添加参数,如
make.exe 骨架
【讨论】:
最好将bin
目录添加到PATH
环境变量中。这将使make.exe
在任何地方都可用。
我认为它是默认完成的——至少在我安装 gnuwin32 时是这样。当然,无论如何复制文件都是不好的做法。
默认情况下没有完成(或者在我的情况下没有完成)。通过将其添加到路径中,您可以从项目文件夹中运行 make。
像冠军一样工作【参考方案6】:
如果您安装Cygwin。确保在安装程序中选择 make。然后,您可以运行以下命令,前提是您有 Makefile。
make -f Makefile
https://cygwin.com/install.html
【讨论】:
【参考方案7】:我尝试了以上所有方法。对我有什么帮助:
-
下载mingw-get。
设置它。
将类似
C:\MinGW\bin
的内容添加到环境变量中。
启动(!重要)git bash。 Power shell、开发人员与 cmd、系统 cmd 等都没有帮助。
在命令行中输入mingw-get
。
在mingw-get install mingw32-make
之后输入。
完成!现在您可以使用任何包含 Makefile 的文件夹中的 make-commands。
【讨论】:
效果很好,谢谢【参考方案8】:使用 Visual Studio 2017,我必须将此文件夹添加到我的 Windows 10 路径环境变量中:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
还有 HostX86
【讨论】:
【参考方案9】:我使用提供mingw32-make
构建工具的MinGW 工具集,如果您在PATH
system variables 中有它,则在Windows 命令提示符中进入包含文件的目录并输入以下命令:
mingw32-make -f Makefile.win
它已经完成了。
【讨论】:
【参考方案10】:如果是“NMake Makefile”,也就是说语法和命令与 NMake 兼容,它将在 Windows 上原生运行。通常Makefile.win
(.win
后缀)表示它是与 Windows NMake 兼容的生成文件。所以你可以试试nmake -f Makefile.win
。
通常会提供标准的 Linux Makefiles,NMake
看起来很有希望。但是,以下链接采用了一个简单的 Linux Makefile 并解释了可能会遇到的一些基本问题。它还提出了一些在 Windows 上处理 Linux Makefile 的替代方案。
Makefiles in Windows
【讨论】:
【参考方案11】:首先将visual studio常用工具的路径(c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
)添加到系统路径中。要了解如何在系统路径中添加路径,请查看此网站:
http://www.computerhope.com/issues/ch000549.htm。你只需要这样做一次。
之后,根据需要,打开命令行并执行vsvars32.bat
,将所有需要的visual studio工具路径添加到系统路径中。
然后,您可以拨打nmake -f makefile.mak
PS:Visual Studio 常用工具的路径在您的系统中可能会有所不同。请相应更改。
【讨论】:
【参考方案12】:我尝试使用 cygwin 和 gnuwin,但对我没有用,我猜是因为 makefile 主要使用特定的 linux 代码。
它的工作原理是使用 Ubuntu Bash for Windows 10。如果您来自 MAC,这就是奇迹,因为这是我的情况:
-
要安装 Ubuntu Bash:https://itsfoss.com/install-bash-on-windows/
进入控制台后,只需键入“make”即可安装 make,它会给出下载说明。
附加:
-
有用的在 bash 上启用复制/粘贴:Copy Paste in Bash on Ubuntu on Windows
在我的例子中,make 叫做 Maven,所以我也必须安装它:https://askubuntu.com/questions/722993/unable-to-locate-package-maven
访问windows文件系统C:盘,例如:“cd /mnt/c/”
希望对你有帮助
【讨论】:
【参考方案13】:-
从https://sourceforge.net/projects/gnuwin32/下载
在命令提示符中设置识别变量路径(C:\Program Files (x86)\GnuWin32\bin)
【讨论】:
【参考方案14】:安装 msys2 并使用 make 依赖将两者都添加到 PATH 变量中。 (第二个选项是 GNU ToolChain for Windows。MinGW 版本已经包含了 mingw32-make。)
安装 Git Bash。从 Git Bash 运行 mingw32-make。
【讨论】:
【参考方案15】:我假设您添加了 mingw32/bin
已添加到环境变量中,否则请添加它,我假设它是 gcc 编译器并且您有 mingw 安装程序。
第一步:从mingw安装程序下载mingw32-make.exe
,或者先检查mingw/bin
文件夹mingw32-make.exe
是否存在,否则安装,重命名为make.exe
。
重命名为make.exe
后,在makefile
所在的目录下运行该命令即可。无需重命名,您可以直接以mingw32-make
运行它。
命令毕竟只是exe文件或软件,我们用它的名字来执行软件,我们称之为命令。
【讨论】:
【参考方案16】:所以如果你使用 Vscode 和 Mingw 那么你应该首先确保 mingw
的 bin
文件夹包含在环境路径中,并且最好将 mingw32-make.exe
更改为 make
为减轻任务,然后创建一个makefile
并在其中包含此代码。
all:
gcc -o filename filename.c
./filename
然后保存makefile并打开Vscode Code
终端并写入make
。然后makefile将被执行。
【讨论】:
【参考方案17】:也许它可以工作。
pip install Makefile
【讨论】:
以上是关于如何在 Windows 中运行生成文件?的主要内容,如果未能解决你的问题,请参考以下文章
如何在 c c++ 混合生成文件中为 c 对象添加附加规则?