MinGW gcc C 编译器可以工作,但 g++ 不能
Posted
技术标签:
【中文标题】MinGW gcc C 编译器可以工作,但 g++ 不能【英文标题】:MinGW gcc C compiler works, but g++ does not 【发布时间】:2013-11-07 07:39:44 【问题描述】:我是菜鸟,我承认。无论如何,我在使用 MinGW 时遇到了一个非常烦人的问题......测试 C++ 编译器 (g++)。所以这导致我只用 C++ 编写一个简单的“hello world”程序并尝试编译它。没有骰子。一次又一次,我没有得到任何回应。在命令行上,我正在输入
g++ -o hello++.cpp hello++
但也尝试过
g++ -o hello++.cxx hello++
g++ -o hello++.cc hello++
g++ -o hello++ hello++.cpp
(当然,我将源代码的副本保存在同一目录中,分别以 .cxx 和 .cc 扩展名)
还有一堆其他的组合。每次我什么都得不到。没有警告。没有错误。没有。目录中没有创建 .exe 文件,之后在命令行上键入“hello++”只会给我一个“找不到命令”错误。呜呜……这到底是怎么回事?为什么 gcc 命令有效,而 g++ 无效?
我在 Windows 8 上,使用 cygwin。
【问题讨论】:
首先,这些命令中只有一个是正确的,也就是最后一个 (g++ -o hello++ hello++.cpp
)。我不喜欢文本的屏幕截图,但在这种情况下,我真的很想看到你运行该命令的屏幕截图,然后是 dir
命令。
【参考方案1】:
最后一个应该成功了;您不会收到说明它成功的消息,但您应该在当前目录中看到可执行文件。其他的都尝试将可执行文件作为输入并输出源,这是行不通的;尽管我很惊讶您没有收到错误消息。
如果它成功了,那么简单地输入hello++
不太可能运行它,因为当前目录通常不在路径上。请改用./hello++
。
如果没有成功,则可能是g++
没有正确安装。恐怕我不知道如何修复损坏的 Cygwin 安装。或许which g++
,看看哪个程序实际正在运行,可能会提供一些线索。
【讨论】:
谢谢Mike,虽然看起来可能是后者,我试过你的建议,前面加“./”的那个很有用,但还是报错,“no such file or目录”。我想知道一些事情,如果 g++ 没有正确安装,不会尝试用它编译一些东西会产生错误消息吗?因为目前,它没有。所以这让我觉得也许输出文件可能会被重定向到其他目录......但老实说我不知道这是否可能,所以......是吗? 你是对的,这是一个糟糕的安装。我卸载了 MinGW,删除了它的所有文件,重新下载并从头开始安装,你瞧,gcc 和 g++ 现在都可以工作了。以上是关于MinGW gcc C 编译器可以工作,但 g++ 不能的主要内容,如果未能解决你的问题,请参考以下文章
mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗