C ++程序无法编译[重复]

Posted

技术标签:

【中文标题】C ++程序无法编译[重复]【英文标题】:C++ program can not be compiled [duplicate] 【发布时间】:2016-04-23 14:13:31 【问题描述】:

我刚刚开始学习 C++。当我使用 GCC 版本编译以下代码时:gcc (Ubuntu 5.2.1-22ubuntu2) 5.2.1 20151010 我得到这个错误:

gcc tst.cpp -o mytst

/tmp/ccGA15Qf.o: In function `main':
tst.cpp:(.text+0xa): undefined reference to `std::cout'
tst.cpp:(.text+0xf): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
tst.cpp:(.text+0x19): undefined reference to `std::cout'
tst.cpp:(.text+0x1e): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
/tmp/ccGA15Qf.o: In function `__static_initialization_and_destruction_0(int, int)':
tst.cpp:(.text+0x4c): undefined reference to `std::ios_base::Init::Init()'
tst.cpp:(.text+0x5b): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status

这是我的代码:

#include <iostream>

int main ()

  std::cout << "Hello World! ";
  std::cout << "I'm a C++ program";

出了什么问题?

【问题讨论】:

@Satya 不是专业提示。 OP 没有错过任何std:: 和this。 @Satya 没什么,只是删除评论。这完全是荒谬的。 @Satya Why is “using namespace std” in C++ considered bad practice? 已经删除了我的评论朋友。请接受我的道歉。 【参考方案1】:

你应该使用 g++,而不是 gcc 来编译 c++ 文件

【讨论】:

【参考方案2】:

'g++ test.cpp -o test'解决了问题

【讨论】:

虽然这是微不足道的,但对于任何提出问题的人来说都不是微不足道的。需要一些解释才能使这个答案成为答案。多一句就行了。

以上是关于C ++程序无法编译[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用Vim编译和运行C ++程序[重复]

为啥这个 C 程序会崩溃?它编译得很好[重复]

C ++,模板,编译器错误[重复]

编译失败,将静态变量作为私有成员变量的c ++程序[重复]

C ++的最佳GUI编译器[重复]

Dev C ++中的编译错误错误[重复]