C++ C++;基本程序分段错误

C++ C++;基本程序分段错误,c++,segmentation-fault,g++,C++,Segmentation Fault,G++,这是我的CPP计划 #include <iostream> int main(int argc, char *argv[]){ return 0; } 请问有人对这个问题有什么想法吗? 非常感谢你的帮助 以下是一些可能有用的详细信息: [18:13 ~] > ldd a.out linux-vdso.so.1 => (0x00007fff3fdff000) libstdc++.so.6 => /usr/lib/gcc/x86_64-redhat-

这是我的CPP计划

#include <iostream>

int main(int argc, char *argv[]){
     return 0;
}
请问有人对这个问题有什么想法吗? 非常感谢你的帮助

以下是一些可能有用的详细信息:

[18:13 ~] > ldd a.out
 linux-vdso.so.1 =>  (0x00007fff3fdff000)
 libstdc++.so.6 => /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libstdc++.so.6 (0x00007fc8f4a53000)
 libm.so.6 => /lib64/libm.so.6 (0x00007fc8f47ce000)
 libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007fc8f45b8000)
 libc.so.6 => /lib64/libc.so.6 (0x00007fc8f4225000)
 /lib64/ld-linux-x86-64.so.2 (0x00007fc8f4ca5000)
以及gdb:

[18:15 ~] > gdb ./a.out
GNU gdb (GDB) Red Hat Enterprise Linux (7.2-60.el6)
Copyright (C) 2010 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-redhat-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from ...done.
(gdb) run
Starting program: a.out

Program received signal SIGSEGV, Segmentation fault.
0x00007ffff7bd48ec in std::ios_base::Init::Init() () from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libstdc++.so.6
Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.x86_64 libgcc-4.4.7-3.el6.x86_64
(gdb) bt
#0  0x00007ffff7bd48ec in std::ios_base::Init::Init() () from /usr/lib/gcc/x86_64-redhat-linux/3.4.6/libstdc++.so.6
#1  0x0000000000400831 in __static_initialization_and_destruction_0 (__initialize_p=1, __priority=65535) at /usr/lib/gcc/x86_64-redhat-linux/3.4.6/../../../../include/c++/3.4.6/iostream:77
#2  0x0000000000400873 in global constructors keyed to main() () at test.cpp:7
#3  0x0000000000400976 in __do_global_ctors_aux ()
#4  0x00000000004005a3 in _init ()
#5  0x00007fffffffe448 in ?? ()
#6  0x0000000000400905 in __libc_csu_init ()
#7  0x00007ffff7385c70 in __libc_start_main () from /lib64/libc.so.6
#8  0x0000000000400659 in _start ()
(gdb)
最后一件事

[10:25 ~] > ls /usr/lib/gcc/x86_64-redhat-linux
3.4.6

谢谢。

我想您在安装g时错过了一些东西++

Missing separate debuginfos, use: debuginfo-install glibc-2.12-1.107.el6.x86_64 libgcc-4.4.7-3.el6.x86_64

显然你的问题是你的g++安装被破坏了。我从消息中看到,您有RHEL6,但不知何故有3.4.6版的libstdc++

我的RHEL6系统有gcc的4.4.6版、libstdc++等。我假设libstdc++的这个旧版本与您的问题有关

您安装了哪些版本的gcc、g++和libstdc++?从其他消息来看,似乎您有4.4.7,但您是碰巧有多个版本还是混合版本

rpm -q gcc g++ libstdc++
另外,在/usr/lib/gcc/x86_64-redhat-linux下还有哪些其他目录

ls /usr/lib/gcc/x86_64-redhat-linux

g++报告的版本是什么?(
g++-v
)你好,Mat,谢谢。我用更多的细节更新了我的第一个帖子Shello Russel,谢谢。我用更多的细节更新了我的第一个线程。目前我的猜测是,g++和libgcc的版本不匹配,它们不兼容。从您目前提供的信息来看,似乎您有3.4.6版的g++和libstdc++,但有4.4.7版的libgcc。我不知道你有什么版本的gcc,但我怀疑是4.4.7。我建议升级g++和libstdc++以使它们与您的gcc版本相匹配。除非gcc也是3.4.6,在这种情况下,您可能只是将libgcc降级为匹配。如果让所有版本都匹配并不能解决问题,我建议您访问gcc邮件列表寻求帮助。
rpm -q gcc g++ libstdc++
ls /usr/lib/gcc/x86_64-redhat-linux