【问题标题】:How to run a makefile in Windows?如何在 Windows 中运行生成文件?
【发布时间】:2011-02-01 16:46:41
【问题描述】:

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

【问题讨论】:

标签: windows makefile


【解决方案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 运行。

  1. Windows
    安装chocolatey package manager 兼容 Windows 7+ / Windows Server 2003+

  2. 运行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】:

查看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
【解决方案5】:

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

  • 从 SourceForge 下载 ma​​kegnuwin32
  • 安装它
  • 进入安装文件夹

C:\Program Files (x86)\GnuWin32\bin

  • 将bin中的所有文件复制到Makefile所在的文件夹

libiconv2.dll libintl3.dll make.exe

  • 打开cmd (可以通过shift右键单击在Makefile所在的文件夹中运行

make.exe

完成。

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

make.exe 骨架

【讨论】:

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

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

make -f Makefile

https://cygwin.com/install.html

【讨论】:

    【解决方案7】:

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

    1. 下载mingw-get
    2. 设置它。
    3. 将类似C:\MinGW\bin 的内容添加到环境变量中。
    4. 启动(!重要)git bash。 Power shell、开发人员与 cmd、系统 cmd 等都没有帮助。
    5. 在命令行中输入mingw-get
    6. 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,这就是奇迹,因为这是我的情况:

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

            附加:

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

            希望对你有帮助

            【讨论】:

              【解决方案13】:
              1. https://sourceforge.net/projects/gnuwin32/下载
              2. 在命令提示符中设置识别变量路径(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 那么你应该首先确保 mingwbin 文件夹包含在环境路径中,并且最好将 mingw32-make.exe 更改为 make 为减轻任务,然后创建一个makefile 并在其中包含此代码。

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

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

                    【讨论】:

                      【解决方案17】:

                      也许它可以工作。

                      pip install Makefile
                      

                      【讨论】:

                        猜你喜欢
                        • 1970-01-01
                        • 2023-01-15
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2015-08-09
                        • 2020-07-13
                        • 1970-01-01
                        相关资源
                        最近更新 更多