我从RHEL6.2系统64位机器编译的GUI库很少。我的任务是在Ubuntu 64位机器上运行它.. 所以我试了一下 Ubuntu 12.04.1& Ubuntu 11.04 在我们面临类似的问题..
分段错误(核心转储) * 分段错误
回溯: / usr / lib中/ x86_64的-Linux的GNU /的libstdc ++。so.6(_ZNSsC1ERKSs + 0XB)[0x7f14e2728f2b]
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5070f2b in std::basic_string<char, std::char_traits<char>, std::allocator<char> >::basic_string(std::string const&) ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6 (gdb) bt
#0 0x00007ffff5070f2b in std::basic_string<char, std::char_traits<char>, std::allocator<char> > >::basic_string(std::string const&) () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
我无法将其编译到我的电脑上,因为我无法获得源代码。只有他们给我的图书馆.. 任何人都可以帮我解决这个问题..
G ++版 g ++(Ubuntu / Linaro 4.6.3-1ubuntu5)4.6.3
请帮助我..提前谢谢//
感谢回复..
是的,我交叉检查了两个gcc版本
这是我的主机电脑,我可以运行我的应用程序
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ls -ld /usr/lib/x86_64-linux-gnu/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Apr 16 2012 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.16
和我试图运行但不工作的PC
gcc (Ubuntu/Linaro 4.6.3-1ubuntu5) 4.6.3
Copyright (C) 2011 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
ls -ld /usr/lib/x86_64-linux-gnu/libstdc++.so.6
lrwxrwxrwx 1 root root 19 Apr 16 2012 /usr/lib/x86_64-linux-gnu/libstdc++.so.6 -> libstdc++.so.6.0.16
两者都是精确的Ubuntu 12.04
我无法确定我的错误所在。
请帮助..
答案 0 :(得分:1)
Ubuntu 12.04和11.04都使用比RHEL6.2更新的库。检查stdlib的版本。我打赌他们是不同的。
一般来说,你不能只拿起二进制文件(程序或库)并在另一个上运行它。如果你有.rpm或.deb包,你会发现应该有版本依赖。
您也可以使用ldd。
查看您的库所依赖的其他库