这个非常简单的代码给了我很多错误:
#include <iostream>
#include <string>
int main() {
std::string test = " ";
std::cout << test;
}
我试图通过在控制台上输入gcc -o simpletest simpletest.cpp在 linux 上编译它。我不明白为什么它不起作用。怎么了?
尝试使用“g++”而不是“gcc”。
补充其他人所说的:g++
是 GNU C++ 编译器。 gcc
是 GNU 编译器集合(不是许多人认为的 GNU C 编译器)。 gcc
用作g++
编译 C++ 源代码时的前端。 gcc
可以编译 C、C++、Objective-C、Fortran、Ada、汇编等。
它尝试编译失败的原因gcc
是您需要在 C++ 标准库中进行链接。默认情况下,g++
会这样做,但gcc
不会。要使用 链接到 C++ 标准库gcc
,请使用以下命令:
gcc -o simpletest simpletest.cpp -lstdc++
尝试:
g++ -o simpletest simpletest.cpp
尝试使用g++ -o simpletest simpletest.cpp
. gcc 是 C 编译器,而 g++ 是 C++ 编译器,它还链接所需的 C++ 库。
此外,您必须在函数return 0;
末尾添加一个。main()
如果您的编译器很挑剔,您可能希望在最后添加所有重要return 0;
的内容
您声明您main()
的退货,int
但您没有退货声明。添加return 0;
并查看是否有帮助。如果这不能解决您的问题,请尝试编辑您的帖子以包含您遇到的错误中的一些代表性行,也许我们可以为您提供更好的帮助。
g++ 对我来说也是正确的答案,我投了赞成票,谢谢。
但是我的代码,自 1998 年 2 月 13 日(第一条评论)以来一直在使用的代码,用于计算我们孩子的保姆的有效总工资和预扣税,即使对于 g++ 来说也太简单了。就上面的例子而言,我的 Stroustrup-second-edition-compliant 恐龙去了:
// too simple!
#include <iostream.h>
#include <stdlib.h>
main() {
cout << "Hello World!" << endl;
}
这将为您提供一个完整的错误消息终端窗口。除花括号外的所有内容都是错误!而且它缺少返回线。时间是,这将在商业 C++ 开发环境中正确编译和运行......
踢它新学校,我现在正在使用://足够简单
#include <iostream>
#include <stdlib.h>
int main(int argc, char* argv[] ) {
std::cout << "Hello World!" << std::endl;
// TODO - this ought to return success, 0
}
最初的提问者有 std::cout 并使用了来自的字符串
<string>...
“简单”是一个相对术语...
账单