undefined reference to `std::cin'

背景:

在Linux下直接man cin/cout 是没有结果的,刚开始以为无法在Linux下使用cin/cout,后来看到网上确实有一些类似的代码,所以做了一个简单的实验,代码如下:

  1. #include <iostream>
  2. using namespace std;
  3. int main()
  4. {
  5. char name[16]={0};
  6. printf('请输入姓名\n');
  7. cin>>name;
  8. printf('名字为%s\n', name);
  9. }

注意:需要添加头文件 #include <iostream>和名字空间 using namespace std;

使用G 编译:g test.cpp -g -o test.o

错误:

在编译的时候还好,但在链接的时候提示如下错误:

undefined reference to `std::cin'

查错:

参考自:http://www.cnblogs.com/chinazhangjie/archive/2011/05/23/2054598.html

原因:

std库并不是g 编译器中的默认库,需要手工加载

解决办法:

在编译的时候加上链接库:-Istdc

g test.cpp -lstdc -g -o test.o

(0)

相关推荐