我的简单c ++程序有问题......
我想安装一个程序,但总是有“c ++编译器无法创建可执行文件”这样的错误......
现在我尝试编译一个简单的“hello world”程序,但是如果我用ac编译器编译一个c ++程序(“`cout'unclaclared”......我虽然包含了iostream),我会得到错误...
现在我不确定,如果g ++在我的机器上不起作用?
有谁知道如何解决这个问题?
非常感谢你提前...
克里斯
已添加以回应Pax的回答:
嗯,我想,我的代码没问题,我可以在另一台机器上编译它,我使用命名空间std ......
所以,g ++的配置不匹配或类似的东西是不可能的??
答案 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)
请向我们展示你的来源,或者编译并运行它:
#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