可以安装gcc,但g ++不起作用?

时间:2008-12-07 13:19:48

标签: gcc autotools

我的简单c ++程序有问题......

我想安装一个程序,但总是有“c ++编译器无法创建可执行文件”这样的错误......

现在我尝试编译一个简单的“hello world”程序,但是如果我用ac编译器编译一个c ++程序(“`cout'unclaclared”......我虽然包含了iostream),我会得到错误...

现在我不确定,如果g ++在我的机器上不起作用?

有谁知道如何解决这个问题?

非常感谢你提前...
克里斯


已添加以回应Pax的回答:

嗯,我想,我的代码没问题,我可以在另一台机器上编译它,我使用命名空间std ......

所以,g ++的配置不匹配或类似的东西是不可能的??

5 个答案:

答案 0 :(得分:3)

您是否尝试直接调用g ++?如果您运行:

g++

并且未安装,您应该获得通常的无效命令消息,但如果安装了该消息,您应该看到类似的内容:

g++: no input files

如果你看到了,那就试试这个:

g++ -o output-file input-file

用任何东西替换输出文件和输入文件。您可以指定多个输入源文件。

如果安装了g ++,那应该可行。通常您不需要配置任何东西。如果它不起作用,那么很可能它根本就没有安装。

在基于debian的机器上,您应该能够在其他系统上轻松地 apt-get install g ++

答案 1 :(得分:1)

在运行configure时尝试诊断问题时最大的帮助是查看config.log。该文件中显示的最后一个错误是导致您看到的消息的原因。我见过很多配置输出一个错误的实例,但是日志显示问题是一个完全不同的组件(例如,在检查之前尝试使用库)。

答案 2 :(得分:0)

“`cout'undeclared”很可能意味着你的来源中的一个错误。

请向我们展示你的来源,或者编译并运行它:

#include <iostream>
int main() { std::cout << "Hello" << std::endl; }

如果以上代码无法编译(使用例如"g++ t.cc"),请显示完整错误消息,并从"g++ -v"输出。

如果它确实编译并运行(很可能),那么你的g ++没有任何问题,问题在于你的来源。您的源代码在另一台机器上编译的事实意味着 nothing - 您的代码仍然可能被严重破坏。

答案 3 :(得分:0)

在调用“错误”编译器之外(使用gcc而不是g ++,请参阅Dan的回答)可能但是gcc正确构建但g ++错误构建不正常。

你的系统也可能只带有gcc,有人后来将g ++安装到另一个目录中。如果是这样,可能是新的g ++设置不正确。

尝试运行命令

which gcc
which c++

从命令行。如果gcc在/ usr / bin中,但g ++在/ usr / local / bin中,那么你可能会遇到这个问题。您还可以询问版本是否匹配:

gcc --version
g++ --version

答案 4 :(得分:0)

在您的计算机上安装build-essential软件包,然后重试。这为我解决了同样的问题。

sudo apt-get install build-essential