ChatGPT解决这个技术问题 Extra ChatGPT

如何在 Windows 中运行生成文件?

我下载了一些演示,它们带有 Makefile.win 和 Makefile.sgi。如何在 Windows 中运行这些来编译演示?

我应该提一下,我更像是一个 Linux 人,但我现在需要使用 Windows,所以我有点无能为力。
给出了非常清晰的指南here

l
ledawg

您可以使用维护良好的包管理器 chocolatey 安装 GNU make,它会将 make 添加到全局路径并在所有 CLI(powershell、git bash、cmd 等)上运行,从而为您节省大量时间在维护和初始设置中都可以运行。

为与 Windows 7+ / Windows Server 2003+ 兼容的 Windows 安装巧克力包管理器运行 choco install make

我不隶属于 choco,但我强烈推荐它,到目前为止它从未让我失望,而且我确实有无意中破坏软件的天赋。


你太棒了,非常感谢。就像在本机 Linux 环境中尝试 Makefile 一样运行,但在 Windows 中!使用 WSL 制作 gui Java 应用程序时遇到问题,但这使它使用 PowerShell 工作。
这是在 windows 中使用 make 的最佳方式,没有任何复杂性。并且为我的团队工作得很好。
M
Marcelo Cantos

如果您有 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,顺便说一句。
F
Frank

查看 cygwin,一个类似 Unix 的 Windows 环境


cygwin 对我来说效果很好!我只需要在安装过程中检查 Devel 中的一些软件包:“make”和“gcc”,如 here 所述。
我还建议使用 Chocolatey 安装 cygwin,因此获取 make 的命令是:choco install make --source=cygwin
安装 choco 后,如何将其添加到我的命令 shell 中?有要添加的路径吗?
如果您使用 choco 安装它,则将此行(带引号)添加到系统变量“C:\tools\cygwin\bin”中的路径变量中
K
KyleMit

查看 GnuWinmake (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
M
Maria Ines Parnisari

这是我运行 Makefile 的快速临时方法

从 SourceForge 下载 make:gnuwin32

安装它

转到安装文件夹

C:\Program 文件 (x86)\GnuWin32\bin

将 bin 中的所有文件复制到包含 Makefile 的文件夹中

libiconv2.dll libintl3.dll make.exe

在包含 Makefile 的文件夹中打开 cmd(您可以通过右键单击来完成)并运行

制作.exe

完毕。

另外,您可以在命令后添加参数,例如

make.exe 骨架


bin 目录添加到 PATH 环境变量可能会更好。这将使 make.exe 在任何地方都可用。
我认为它是默认完成的——至少在我安装 gnuwin32 时是这样。当然,无论如何复制文件都是不好的做法。
默认情况下没有完成(或者在我的情况下没有完成)。通过将其添加到路径中,您可以从项目文件夹中运行 make。
像冠军一样工作
s
sunny0402

如果您安装 Cygwin。确保在安装程序中选择 make。然后,如果您有 Makefile,则可以运行以下命令。

make -f Makefile

https://cygwin.com/install.html

A
Ashish Kankal

我尝试了以上所有方法。对我有什么帮助:

下载mingw-get。设置它。将类似 C:\MinGW\bin 的内容添加到环境变量中。启动 (!important) git bash。 Power shell、开发人员与 cmd、系统 cmd 等没有帮助。在命令行中输入 mingw-get。输入 mingw-get 后安装 mingw32-make。

完毕!现在您可以使用任何包含 Makefile 的文件夹中的 make-commands。


工作得很好,谢谢
J
Jón Trausti Arason

使用 Visual Studio 2017,我必须将此文件夹添加到我的 Windows 10 路径环境变量中:

C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64

还有HostX86


W
WENDYN

我使用提供 mingw32-make 构建工具的 MinGW 工具集,如果您在 PATH system variables 中有它,在 Windows 命令提示符中只需进入包含文件的目录并键入以下命令:

mingw32-make -f Makefile.win

它完成了。


a
ap-osd

如果它是“NMake Makefile”,也就是说语法和命令与 NMake 兼容,它将在 Windows 上原生运行。通常 Makefile.win.win 后缀)表示它是与 Windows NMake 兼容的 makefile。所以你可以试试 nmake -f Makefile.win

通常会提供标准的 Linux Makefile,NMake 看起来很有希望。但是,以下链接采用了一个简单的 Linux Makefile 并解释了可能遇到的一些基本问题。它还提出了一些在 Windows 上处理 Linux Makefile 的替代方案。

Makefiles in Windows


V
Validus Oculus

首先,将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 常用工具的路径在您的系统中可能会有所不同。请相应地更改它。


O
Oriol Manyà Pau

我尝试使用 cygwin 和 gnuwin,但对我没有用,我猜是因为 makefile 主要使用特定的 linux 代码。

它的工作原理是使用适用于 Windows 10 的 Ubuntu Bash。如果您来自 MAC,这是一个奇迹,因为这是我的情况:

要安装 Ubuntu Bash:https://itsfoss.com/install-bash-on-windows/ 在控制台中,安装 make 只需键入“make”,它会给出下载说明。

附加功能:

有用的在 bash 上启用复制/粘贴:在 Windows 上的 Ubuntu 上的 Bash 中复制粘贴在我的情况下,这个 make 叫做 Maven,所以我也必须安装它:https://askubuntu.com/questions/722993/unable-to-locate -package-maven 访问windows文件系统C:盘,例如:“cd /mnt/c/”

希望能帮助到你


L
Liam Kernighan

安装 msys2 并使用 make 依赖项将两者都添加到 PATH 变量中。 (第二个选项是 GNU ToolChain for Windows。MinGW 版本已经包含了 mingw32-make。)

安装 Git Bash。从 Git Bash 运行 mingw32-make。


谢谢,这是我的环境的完美解决方案。我正在学习如何使用 make 在 Windows 的 VS Code 中最小化编译大型项目(就像我在 Linux 中使用 boost-build 所做的那样),但我一直在努力使用 cmd 和 Windows shell 语法。
A
Amit Kumar

从 https://sourceforge.net/projects/gnuwin32/ 下载 预先设置变量路径以便在命令提示符中识别 (C:\Program Files (x86)\GnuWin32\bin)


B
Bryan Laygond

如果您已经从 MSYS2 安装了 Windows GNU 编译器 (MinGW),则 make 命令预安装为 wingw32-make始终将 cmake makefile 生成与正确的 make 命令相匹配。 混合这些生成问题。

使用 MinGW make 命令生成 MinGW makefile

使用 VS 等效 make 命令生成 Visual Studio makefile

只要您拥有源代码,这始终是可能的。只需删除旧的构建目录并通过这次在 cmake 中指定正确的参数来重新开始,例如

mkdir build
cd build
cmake -G "MinGW MakeFiles" path/to/src/whereCMakeLists.txtInstructionsAre   
mingw32-make     
myProject.exe   # RUN

我在编译过程中遇到了多个 make 命令交互的问题。为了防止这种情况,只需编辑/删除导致不同 make 命令的环境变量。例如,为了防止与 mingw 发生冲突,请仅保留 C:\msys64\mingw64\bin 而删除 C:\msys64\usr\bin。另一个路径包含 msys make,正如我所说,您不想在编译期间组合 make 命令。


A
Anatoly

我假设您将 mingw32/bin 添加到环境变量中,否则请添加它,我假设它是 gcc 编译器并且您有 mingw 安装程序。

第一步:从mingw安装程序下载mingw32-make.exe,或者请先检查mingw/bin文件夹是否存在mingw32-make.exe,否则安装它,将其重命名为make.exe

将其重命名为 make.exe 后,只需在 makefile 所在的目录中运行此命令即可。您可以直接将其作为 mingw32-make 运行,而不是重命名它。

毕竟,一个命令只是一个exe文件或者一个软件,我们用它的名字来执行这个软件,我们称之为命令。


L
Lovish Garg

因此,如果您使用 Vscode 和 Mingw,则应首先确保 mingwbin 文件夹包含在环境路径中,并且最好将 mingw32-make.exe 更改为 make 以简化任务然后创建一个 makefile 并将此代码包含在其中。

all:
    gcc -o filename filename.c
    ./filename

然后保存 makefile 并打开 Vscode Code 终端并写入 make。然后makefile将被执行。


N
Nikhil Parashar

也许它可以工作。

pip install Makefile