这gdb 错误提示是啥意思?

rainbow_2009 2009-02-02 04:08:28
我写了一段c++代码,运行的时候断错误,gdb调试提示:/usr/include/c++/3.3/bits/stl_tree.h: No such file or directory。要说明下:我用的是gcc 4.2,因而我自己的C++目录下并没有3.3这个文件夹,也没有那个stl_tree.h的头文件。

因为程序要调用的缘故,我就从网上下载了gcc 3.3的源码包,从中将需要的文件拷贝出来,自己建立了一个3.3的目录。但是运行后还是得到断错误,gdb调试提示:warning: Source file is more recent than executable.

我想弄清楚的是后面这个错误提示是什么意思?以前从来没有遇到过。还有我下载gcc3.3的源码后并没有进行编译和安装,只是将头文件拿出来用了。难道是因为4.2版本的gcc不能用3.3的头文件吗?希望能得到大家的帮助,不甚感激。
...全文
1103 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
CrazyU 2009-02-04
  • 打赏
  • 举报
回复
up,不过能不能解决还是不一定
daidodo 2009-02-04
  • 打赏
  • 举报
回复
先删掉所有的.o文件,然后重新编译。
这是因为你把以前用另一个gcc版本编译的.o文件带到了当前的环境,导致链接的时候gcc发现源代码不对。
kona813 2009-02-04
  • 打赏
  • 举报
回复
还有我下载gcc3.3的源码后并没有进行编译和安装,

因为你改了系统自带库头文件,不重新编译,调式信息会不匹配所以,会报这个错
warning: Source file is more recent than executable

我写了一段c++代码,运行的时候断错误,gdb调试提示:/usr/include/c++/3.3/bits/stl_tree.h: No such file or directory。要说明下:我用的是gcc 4.2,因而我自己的C++目录下并没有3.3这个文件夹,也没有那个stl_tree.h的头文件。

因为程序要调用的缘故,我就从网上下载了gcc 3.3的源码包,从中将需要的文件拷贝出来,自己建立了一个3.3的目录。

我奇怪的是你用GCC 4.2,怎么会提示出 /usr/include/c++/3.3/bits/stl_tree.h: No such file or directory。 这样的错,你的stl_tree.h引用是怎么做的,是不是MAKEFILE没写对,还是H头文件写错了
sunjw8888 2009-02-03
  • 打赏
  • 举报
回复
可能是源代码包含的头文件有错
gcc只用头文件应该是不能正常使用的
taodm 2009-02-03
  • 打赏
  • 举报
回复
调试跟入库源码的行为可以认为是你走入歧途了。
专注于自己的代码里找错。
另外,stl的使用,务必认真看过《effective stl》
rainbow_2009 2009-02-03
  • 打赏
  • 举报
回复
那么,意思是因为编译器版本的问题引发的?看来也只能这么看了阿。问题是有没有什么好的思路来解决呢。。。

64,654

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

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