1

我对简单的 C++ 程序有疑问...

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

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

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

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

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


添加响应 Pax 的回答:

好吧,我认为,我的代码还可以,我可以在另一台机器上编译它,并且我使用命名空间 std...

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

4

5 回答 5

3

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

g++

并且它没有安装,你应该得到通常的无效命令消息,但如果它已安装,你应该看到如下内容:

g++: no input files

如果您看到,请尝试运行以下命令:

g++ -o output-file input-file

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

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

在基于 debian 的机器上,您应该能够简单地apt-get install g++在其他系统上应该同样容易。

于 2008-12-07T13:50:24.490 回答
1

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

于 2008-12-07T14:23:23.800 回答
0

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

也有可能您的系统仅带有 gcc,并且后来有人将 g++ 安装到了不同的目录中。如果是这样,可能是较新的 g++ 设置不正确。

尝试运行命令

which gcc
which c++

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

gcc --version
g++ --version
于 2008-12-10T20:35:21.207 回答
0

“`cout' undeclared” 很可能意味着您的源代码中存在错误。

请向我们展示您的源代码,或者编译并运行它:

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

如果上面的代码没有编译(使用例如"g++ t.cc"),显示完整的错误信息,并从"g++ -v".

如果它确实编译并运行(这很可能),那么您的 g++ 没有任何问题,问题出在您的源代码上。您的源代码在不同的机器上编译这一事实没有任何意义——您的代码仍然可能被严重破坏。

于 2008-12-08T02:22:15.020 回答
-1

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

sudo apt-get install build-essential
于 2011-09-03T23:59:47.247 回答