gdb和gcc升级:解决编译和调试时出现gdb no symbol in current context
2015-06-24 22:37
417 查看
1 gcc 4.8安装
步骤1:从gnu网站下载代码(gcc-4.8.0.tar.gz)。 步骤2:解压代码 $> tar -xzvf gcc-4.8.0.tar $> cd gcc-4.8.0 步骤3:编译代码 $> ./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --build=x86_64-redhat-linux $> make 步骤4:安装 linux下安装软件需要以root权限。 $# make install 步骤5:检查 $> gcc -v 入命令输出结果含义“gcc version 4.8.0 (GCC)”,则表示gcc新版本安装成功。 重要: 升级后需要拷贝两个重要的文件到对应目录 1 libstdc++.so,用新编译的替代旧有系统里面的 2 libgcc_s.so,使用/usr/local/lib64下的文件,替换掉/usr/local/lib/下的老文件。(对ns3编译,elf-cache的拷贝这是必须要的)
2 gdb 7.6安装
安装完gcc后,些一个简单的用例。再用gdb进行调试时,发现出错。错误信息如,“Missing separate debuginfos use:debuginfo-install...”版本不匹配还可能出现gdb no symbol in current context。
出现错误的原因是,gdb版本和gcc版本不匹配。
步骤1:从gnu网站下载代码(gdb-7.6.tar.gz)。
步骤2:解压代码 $> tar -xzvf gdb-7.6.tar.gz $> cd gdb-7.6
步骤3:编译代码
$> ./configure
$> make
编译过程中,有库依赖的问题。本人编译过程中,缺少库ncurses。安装库 ncurses-5.9.tar.gz,安装过程不详细描述,过程和其他软件包类似。
步骤4:安装 linux下安装软件需要以root权限。 $# make install
步骤5:检查 $> gdb -v 入命令输出结果含义“GNU gdb (GDB) 7.6”,则表示gdb新版本安装成功。
安装成功后,就可以编译和调试用C++ 0x11标准写的代码了。
编译代码时,需要带参数std=c++11:
如:g++ test.cc std=c++11。
参考
http://blog.csdn.net/kedacom_com/article/details/8917800
相关文章推荐
- 同一端口如何区分不同的Socket
- 设计模式之策略模式——极客学院学习笔记
- WebBrowser与IE的关系,如何设置WebBrowser工作在IE9模式下?
- Sqlite 帮助类 SQLiteHelper
- Happy Number
- WPF中的快捷键(累积中)
- 信息论的知识
- jsp自定义标签
- C/C++——程序的内存分配
- OJ-虚函数
- comparetor和comparable的区别
- java学习之旅13--运算符_01_算术_逻辑_位运算符_扩展运算符
- rabiitmq
- HDU-2871 Memory Control(线段树)
- 李括号定义解说
- Balanced Binary Tree
- 利用excel批量修改字段长度
- 链表中的倒数第k个结点
- 【一些事晚报】知乎上为什么总有一大波热心人士回答
- Server at localhost was unable to start within 45 seconds