升级到gcc3.2不能编译c++程序

caffv 2002-09-05 01:06:42
down了gcc3.2的源代码,编译安装后。居然cout都不认,请指点
...全文
71 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
pi1ot 2002-09-06
  • 打赏
  • 举报
回复
更改makefile,通过宏,至少可以指定libpath,namespace不清楚能不能搞定.
caffv 2002-09-06
  • 打赏
  • 举报
回复
现在到是解决了:
1、编译是必须激活名空间
2、在profile中加入LD_RUN_PATH=/usr/local/lib
这样编译运行都没问题,可我想找一个一劳永逸的方法,使我以前的代码不同改动.
即使没有,今天晚上我将把帖子结了
xzhuang 2002-09-05
  • 打赏
  • 举报
回复
看看/usr/lib/下有没有libstdc++.so.3,没有的话,装一个。
xiaodeshi 2002-09-05
  • 打赏
  • 举报
回复
shared libraries已经建立,但实际上你在install的时候没有安装。所以出现这个问题。

http://gcc.gnu.org/ml/gcc-help/2002-07/msg00090.html
stidio_zhougang 2002-09-05
  • 打赏
  • 举报
回复
如果升级到gcc3.2,对于编译预制已经做了一些改变。
楼主这种情况就属于这种改变之一:所有的引入库都必须显示链接(包括标准库);也就是说,你必须手动加入库,如你的程序必须加上这个-lstdc++
标准编译命令为:
gcc Test.cpp -lstdc++ -Os -o TT.exe;
-Os 可加可不加,是我的习惯用法,表示优化;
详细情况可到GNU的网站上看看,看看它的具体变化。
caffv 2002-09-05
  • 打赏
  • 举报
回复
加名空间是能编译过,可是运行不了。报如下错误:error while loading shared libraries: libstdc++.so.3: cannot open shared object file: No such file or directory
blh 2002-09-05
  • 打赏
  • 举报
回复
改成:
#include <iostream>
using namespace std;

int main() {
cout << "Hello World!" << endl ;
}

命令:
g++ welcome.cpp -o welcome.out
caffv 2002-09-05
  • 打赏
  • 举报
回复
我的c++代码在 gcc 2.9.6下没问题,如果alias g++=/usr/bin/g++(g++ 2.9.6),
g++ welcome.cpp -o welcome.out 没问题。
我想gcc 3.2装的不好,没有人升级过gcc吗?
请帮忙
nihan 2002-09-05
  • 打赏
  • 举报
回复
是不是没有激活名字空间?
如:
#include <iostream>
using namespace std;

C++ 用 g++ 编译
如:
g++ Hello.cpp
caffv 2002-09-05
  • 打赏
  • 举报
回复
代码:
#include <iostream>

int main() {
cout << "Hello World!" << endl ;
}

命令:
g++ welcome.cpp -o welcome.out
blh 2002-09-05
  • 打赏
  • 举报
回复
你编译程序的命令行各市是什么?
blh 2002-09-05
  • 打赏
  • 举报
回复
你的代码怎么写的?
caffv 2002-09-05
  • 打赏
  • 举报
回复
没人知道吗???

69,371

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧