现在的位置: 首页 > 综合 > 正文

undefined reference to `std::cin’

2014年01月18日 ⁄ 综合 ⁄ 共 497字 ⁄ 字号 评论关闭

背景:

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

#include <iostream>
using namespace std;

int main()
{
    char name[16]={0};
    printf("请输入姓名\n");

    cin>>name;
    printf("名字为%s\n", name);
}

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

抱歉!评论已关闭.