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++ 不能的主要内容,如果未能解决你的问题,请参考以下文章

msvc MinGW gcc g++关系

mingw 包含哪些

mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗

mingw和gcc的关系?mingw具有gcc的全部核心编译功能吗

MinGW 不工作

哪个MinGW文件用作C ++编译器