gcc says: undefined reference to 'std::cout'
boss让写的程序,要在linux跟windows下跑,结果我先用vs.net写完,然后去gcc下编译,就出了n个屏幕的这个错误
我保证自己的程序绝对是标准的c++程序,gcc居然不认,我就ft了
本来以为是gcc版本太老,update到3.4.4,结果一样
把
#include<iostream>
using namespace std;
改成
#include<iostream.h>
结果还是一样
郁闷了,直接写个hello world程序,发现只要使用了iostream库就出这个错
google,发现N多人都出这个错,就是没发现有一个正面回答这个问题的人。在cygwin相关的一个mailing list里面有人问这个问题,结果下面的回答是让他把cygwin版本,gcc版本,及cygwin安装的各个包的版本都发上来,晕啊。这个问题应该是跟版本无关的吧!
终于找到一个很没人气的论坛,里面的回答很简单:编c++程序,要用g++
当场就郁闷了,合着我忙了半天就这么简单啊!自己试试
g++ HelloWorld.cpp
一次成功。这种问题……唉,相信很多从windows转到linux的c++程序员都应该碰到过吧,为什么gcc的manual里就不写呢?
前几天刚开始用gcc时还有一个问题,就是老提示 no newline at end of file,后来在网上google半天才知道最后一行得留个空行……
万事开头难啊,学用Linux这种万恶的无人性的OpenSource的软件更难啊……
Google 看来比导师作用大 :P
楼上的强!
导师都是成年见不着面的主。。。
哈哈,有理!
========
万事开头难啊,学用Linux这种万恶的无人性的OpenSource的软件更难啊……
同感啊,万事开头难啊
呵呵 蓦然回首那人正在灯火阑珊处
我也郁闷了半天,然后在gcc官网找到了答案
官网文档还是很详细的
http://gcc.gnu.org/onlinedocs/gcc-4.4.2/gcc/C_002b_002b-Dialect-Options.html#C_002b_002b-Dialect-Options
罪恶的根源其实是MS,是他把你养懒了,开源软件正在救赎你,你却反归咎于开源。
我也是啊,输入gcc 1.cpp -o we,出来一大堆underfined错误 改为
g++ 1.cpp -o we 就好了
感谢博主 ^_^
大哥救命之恩啊!!!!
原来如此,果然google的作用比老师大啊……