collect2:错误:ld在c ++中返回1个退出状态[重复]

Posted

技术标签:

【中文标题】collect2:错误:ld在c ++中返回1个退出状态[重复]【英文标题】:collect2: error: ld returned 1 exit status in c++ [duplicate] 【发布时间】:2016-12-22 17:02:58 【问题描述】:

我刚刚切换到基本操作系统并安装了 sublime 文本编辑器。我用 C++ 编写了一个基本的 hello world 程序来检查工作。我得到了这个错误。

/tmp/cc3Pmvft.o: In function `main':
source.cpp:(.text+0xa): undefined reference to `std::cout'
source.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*)'
source.cpp:(.text+0x14): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'
source.cpp:(.text+0x1c): undefined reference to `std::ostream::operator<<(std::ostream& (*)(std::ostream&))'
/tmp/cc3Pmvft.o: In function `__static_initialization_and_destruction_0(int, int)':
source.cpp:(.text+0x4a): undefined reference to `std::ios_base::Init::Init()'
source.cpp:(.text+0x59): undefined reference to `std::ios_base::Init::~Init()'
collect2: error: ld returned 1 exit status

hello world 程序是,

#include <iostream>
using namespace std;

int main()
     cout << "Hello World!" << endl;
     return 0;

我在 google 和 *** 中搜索了答案,但找不到解决方案。

【问题讨论】:

“我在 google 和 *** 中搜索过答案,但找不到解决方案。” 真的吗?我记得这个问题已经被问过很多次了。 【参考方案1】:

你应该用 C++ 编译器编译它,而不是 C,例如 g++。

而不是这个

gcc source.cpp

这样做

g++ source.cpp

【讨论】:

以上是关于collect2:错误:ld在c ++中返回1个退出状态[重复]的主要内容,如果未能解决你的问题,请参考以下文章

collect2:错误:ld 返回 1 退出状态 graphics.h

C 错误处理

C基础知识(11):错误处理

25.错误处理

Qt 创建者中的“collect2:ld 返回 1 个退出状态”

Python.h 编译错误:collect2.exe Id 返回 1 退出状态