undefined reference to `std::cin' std::dout

分享到:
  来源:急速科技  发布时间:2014-08-12  浏览次数:1738

  ubuntu14 gcc

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

 

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

注意:需要添加头文件 #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

 

知识文章分类

C/C++

阅读排行