pro*_*mer 34 windows cmd makefile
我有Windows 7,我尝试使用'make'命令,但'make'不被识别为内部或外部命令.
我做了Start -> cmd -> run -> make,输出:
'make'不被识别为内部或外部命令,可操作程序或批处理文件.
然后我键入'mingw32-make'而不是'make'(Start -> cmd -> run -> mingw32-make),我得到相同的输出:
'mingw32-make'不被识别为内部或外部命令,可操作程序或批处理文件.
接下来我该怎么做才能解决这个问题?
keb*_*ebs 25
您的问题很可能是shell不知道在哪里找到您的make程序.如果你想从"任何地方"使用它,那么你必须这样做,否则每次你想要调用它时你都需要添加完整的路径,这非常麻烦.例如:
"c:\program files\gnuwin32\bin\make.exe" option1=thisvalue option2=thatvalue
Run Code Online (Sandbox Code Playgroud)
这是一个例子,它曾经在XP上看起来像这样,我不能说在W7上.但gnuwin32曾经为Windows提供有用的"linux-world"软件包.检查您的提供商的详细信息.
因此,为了避免进入路径,可以添加PATH环境变量的路径.你会很容易找到这个.要确保它已由操作系统注册,请打开控制台(运行cmd.exe)并输入$PATH 应该为您提供默认路径列表.检查程序的位置make是否存在.
tri*_*eee 19
这是一个古老的问题,但这里的答案都没有为初学者提供足够的背景来选择选择哪个。
make?make是一个传统的 Unix 实用程序,它读取 aMakefile来决定运行哪些程序以达到特定目标。通常,该目标是从一组源文件和库构建一个软件;但make也足以用于各种其他任务,例如从一组 TeX 源文件中组装 PDF,或检索每个网页列表的最新版本。
除了封装达到单个目标的步骤之外,还make可以通过避免重新执行已经完成的步骤来减少处理时间。它通过比较依赖项之间的时间戳来实现这一点;如果 A 依赖于 B 但 A 已经存在并且比 B 新,则没有必要make A。当然,为了使其正常工作,Makefile需要记录所有此类依赖项。
A: B
commands to produce A from B
Run Code Online (Sandbox Code Playgroud)
请注意,缩进需要由文字制表符组成。这是初学者常见的错误。
make原来make是相当行人。它的血统一直延续到今天进入BSD make,从中nmake推导。粗略地说,这个版本提供了makePOSIX 定义的功能,并有一些小的增强和变化。
make相比之下,GNU显着扩展了形式主义,以至于 GNUMakefile不太可能与其他版本(或者有时甚至是旧版本的 GNU make)一起工作。有一个约定来调用此类文件GNUmakefile而不是Makefile,但该约定被广泛忽略,尤其是在像 Linux 这样的平台上,其中 GNUmake是事实上的标准make。
蛛丝马迹,一个Makefile使用GNUmake约定使用的:=,而不是=为变量赋值(尽管这不完全是一个GNU功能)和类似的功能过多$(shell ...),$(foreach ...),$(patsubst ...)等。
嗯,这真的取决于你希望完成什么。
如果您希望构建的软件有vcproj文件或类似文件,您可能想改用它,而根本不要尝试使用make。
在一般情况下,MinGWmake是 GNU makefor Windows的 Windows 端口,它通常应该可以应付Makefile你扔给它的任何东西。
如果您知道该软件是为使用nmake而编写的并且您已经安装了它,或者您很容易获得它,那么也许可以使用它。
您应该明白,如果该软件不是为 Windows 编写或明确移植到 Windows 的,则在没有重大修改的情况下不太可能进行编译。在这种情况下,make运行是您遇到的最少问题,您需要很好地了解原始平台和 Windows 之间的差异,以便有机会自己解决问题。
更详细地说,如果Makefile包含 Unix 命令,例如grep或curl,yacc那么您的系统也需要安装这些命令。但除此之外,为不同平台编写的 C 或 C++(或更一般地说,任何语言的源代码)可能根本无法在 Windows 上运行 - 根本无法运行,或者按预期(通常更糟)运行。
HSP*_*HSP 10
对于 window-10 已解决的错误,make' 不被识别为内部或外部命令。
从此处下载 MinGW - 适用于 Windows 的简约 GNU https://sourceforge.net/projects/mingw/
安装它
安装完成后复制 C:\MinGW\bin 粘贴到系统变量中
您可能还需要安装这个
mingw32-make安装了软件包。PATH您的命令行和查找的文件夹。或者在 Windows 10 上Control Panel\System and Security\System --> Advanced system settings --> Environment Variables --> System Variables查找Path变量,选择Edit并检查它是否存在。如果没有就添加它!mingwstartup.bat在 MinGW bin 文件夹中创建。在doskey make=mingw32-make.exe里面写一行,保存并关闭它。regedit。正如解释这里的HKEY_LOCAL_MACHINE还是HKEY_CURRENT_USER去\Software\Microsoft\Command Processor右键单击右侧面板上New --> Expandable String Value,并将其命名AutoRun。双击并输入 .bat 文件的路径作为值数据(例如"C:\MinGW\bin\mingwstartup.bat"),结果应如下所示:现在每次你打开一个新的终端make命令都会运行mingw32-make.exe. 我希望它有帮助。
PS如果您不想看到.bat要打印到终端的文件命令,请放在@echo off批处理文件的顶部。
如果您已经在 Windows 7 中安装了MinGW,只需执行以下操作:
C:\MinGW\bin\mingw32-make.exe在同一文件夹中制作另一个文件副本。mingw32-make.exe为make.exe.在我的笔记本电脑上测试了上述步骤。