我最近安装了MinGW并学习了如何使用Make。但每当我尝试使用make编译CPP源文件时,我都会收到错误。以下是输出:
MAKE Version 3.6 Copyright (c) 1991 Borland International
Available memory 33397872 bytes
mingw32-g++ main.cpp --std=c++11 -o program
Bad command or file name
main.cpp是一个非常简单的“Hello World”类型程序。当我直接在命令提示符中使用它时,该命令有效 我正在使用MinGW运行Windows 8.1。 GCC版本4.8
答案 0 :(得分:2)
我想你想学习GNU make,而不是学习1991年的Borland。
确保在Cygwin中安装了GNU make包。通过键入bash命令行检查它是否存在:
$ type -a make
应该回复:
/usr/bin/make
/bin/make
然后:
$ make --version
哪个应该回复:
GNU Make 4.1
Built for x86_64-unknown-linux-gnu
Copyright (C) 1988-2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
答案 1 :(得分:1)
正如另一位受访者所指出的,你不应该试图哄骗Borland的古董make
与MinGW合作;对你来说最合适的选择是mingw32-make
,(GNU make
的原生Windows版本,适合直接在cmd.exe
shell会话中使用),或者安装MinGW.org&#39; s MSYS,并使用它提供的make
;其中任何一个都可以使用MinGW.org的mingw-get
安装管理器安装。
这些选项中的任何一个都应该适合你,同时避免Cygwin的膨胀(或同样臃肿的MSYS2,不应该与MinGW.org MSYS产品混淆)。请注意,如果您选择MSYS选项,您将安装一个非常轻量级的旧版本,但仍然是完全足够且功能强大的Cygwin版本。
最后,为了澄清您明显的混淆,我还要指出您在g++.exe
目录中找到的$MINGW32_ROOT/bin
以及您引用的mingw32-g++.exe
是同一个 - 两者是MinGW编译器,你通常只需g++
调用它。