当前位置: 技术问答>linux和unix
libstd
来源: 互联网 发布时间:2017-02-05
本文导语: 各位好,我在linux下开发程序的时候遇到这样一个问题。请看下面的链接的库。 [qlaiaqu@localhost Debug]$ ldd ydop linux-gate.so.1 => (0x00acc000) libocci.so.10.1 => /usr/lib/oracle/10.2.0.4/client/lib/libocci.so.10....
各位好,我在linux下开发程序的时候遇到这样一个问题。请看下面的链接的库。
[qlaiaqu@localhost Debug]$ ldd ydop
linux-gate.so.1 => (0x00acc000)
libocci.so.10.1 => /usr/lib/oracle/10.2.0.4/client/lib/libocci.so.10.1 (0x00d43000)
libboost_serialization.so.1.40.0 => /home/qlaiaqu/workspace/ydop/library/usrLibrary/boost1.4.0/boost/libboost_serialization.so.1.40.0 (0x00816000)
libclntsh.so.10.1 => /usr/lib/oracle/10.2.0.4/client/lib/libclntsh.so.10.1 (0x00e3a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x00cc5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x05ee3000)
libc.so.6 => /lib/libc.so.6 (0x00b7f000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00cf4000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x001f9000)
librt.so.1 => /lib/librt.so.1 (0x00d22000)
libnnz10.so => /usr/lib/oracle/10.2.0.4/client/lib/libnnz10.so (0x002b2000)
libdl.so.2 => /lib/libdl.so.2 (0x00cee000)
libnsl.so.1 => /lib/libnsl.so.1 (0x004b8000)
/lib/ld-linux.so.2 (0x00b5c000)
[qlaiaqu@localhost Debug]$
其中程序链接了libstdc++.so.5和libstdc++.so.6,这样导致了我的程序中出现下列错误:
*** glibc detected *** /home/qlaiaqu/workspace/ydop/Debug/ydop: double free or corruption (out): 0x098a02b8 ***
我想问的是,有没有方法可以使程序只使用libstdc++.so.6,我的另外一位同事机器上就只调用了libstdc++.so.6,并且程序没有出现问题。而我同事却不知道是怎么弄的。
非常感谢,正确答案的一定加分
[qlaiaqu@localhost Debug]$ ldd ydop
linux-gate.so.1 => (0x00acc000)
libocci.so.10.1 => /usr/lib/oracle/10.2.0.4/client/lib/libocci.so.10.1 (0x00d43000)
libboost_serialization.so.1.40.0 => /home/qlaiaqu/workspace/ydop/library/usrLibrary/boost1.4.0/boost/libboost_serialization.so.1.40.0 (0x00816000)
libclntsh.so.10.1 => /usr/lib/oracle/10.2.0.4/client/lib/libclntsh.so.10.1 (0x00e3a000)
libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00110000)
libm.so.6 => /lib/libm.so.6 (0x00cc5000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x05ee3000)
libc.so.6 => /lib/libc.so.6 (0x00b7f000)
libpthread.so.0 => /lib/libpthread.so.0 (0x00cf4000)
libstdc++.so.5 => /usr/lib/libstdc++.so.5 (0x001f9000)
librt.so.1 => /lib/librt.so.1 (0x00d22000)
libnnz10.so => /usr/lib/oracle/10.2.0.4/client/lib/libnnz10.so (0x002b2000)
libdl.so.2 => /lib/libdl.so.2 (0x00cee000)
libnsl.so.1 => /lib/libnsl.so.1 (0x004b8000)
/lib/ld-linux.so.2 (0x00b5c000)
[qlaiaqu@localhost Debug]$
其中程序链接了libstdc++.so.5和libstdc++.so.6,这样导致了我的程序中出现下列错误:
*** glibc detected *** /home/qlaiaqu/workspace/ydop/Debug/ydop: double free or corruption (out): 0x098a02b8 ***
我想问的是,有没有方法可以使程序只使用libstdc++.so.6,我的另外一位同事机器上就只调用了libstdc++.so.6,并且程序没有出现问题。而我同事却不知道是怎么弄的。
非常感谢,正确答案的一定加分
|
make 参数中可以指定链接的lib
|
拭目以待 不过可能是lib引用不正确
|
make时自己设置链接库。
|
专业的不懂,帮顶。
|
楼主莫非在机器上同时装了两套libstdc++的库?
|
MARK
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。