1

我已经在使用 Qt 4.7.2 的 Solaris 10 上编译了我的应用程序。ldd 的可执行文件显示如下:

libQtScript.so.4 =>     
libclucene.so.0 =>       (file not found)
libX11.so.4 =>   /usr/lib/libX11.so.4
libQtWebKit.so.4 =>   
libQtXml.so.4 =>    
libQtGui.so.4 =>
libQtNetwork.so.4 =>     
libresolv.so.2 =>        /lib/libresolv.so.2
libsocket.so.1 =>        /lib/libsocket.so.1
libxnet.so.1 =>  /lib/libxnet.so.1
libnsl.so.1 =>   /lib/libnsl.so.1
libQtCore.so.4 =>        
libpthread.so.1 =>       /lib/libpthread.so.1
librt.so.1 =>    /lib/librt.so.1
libCstd.so.1 =>  /usr/lib/libCstd.so.1
libCrun.so.1 =>  /usr/lib/libCrun.so.1
libm.so.2 =>     /lib/libm.so.2
libthread.so.1 =>        /lib/libthread.so.1
libc.so.1 =>     /lib/libc.so.1
libXext.so.0 =>  /usr/openwin/lib/libXext.so.0
libXrender.so.1 =>       /usr/sfw/lib/libXrender.so.1
libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
libSM.so.6 =>    /usr/lib/libSM.so.6
libICE.so.6 =>   /usr/lib/libICE.so.6
libmp.so.2 =>    /lib/libmp.so.2
libmd.so.1 =>    /lib/libmd.so.1
libscf.so.1 =>   /lib/libscf.so.1
libdl.so.1 =>    /lib/libdl.so.1
libaio.so.1 =>   /lib/libaio.so.1
libz.so.1 =>     /usr/lib/libz.so.1
libdoor.so.1 =>  /lib/libdoor.so.1
libuutil.so.1 =>         /lib/libuutil.so.1
libgen.so.1 =>   /lib/libgen.so.1
/usr/lib/cpu/sparcv8plus/libCstd_isa.so.1
/platform/SUNW,Sun-Fire-V490/lib/libc_psr.so.1
/platform/SUNW,Sun-Fire-V490/lib/libmd_psr.so.1

我的应用程序崩溃了,dbx 显示 libc_psr.so.1 的 _memcpy 是问题所在。我开始了解辅助过滤器的概念,它导致从 libc_psr.so.1 而不是 libc.so.1 中选择 memcpy 的定义有没有办法停止这种过滤,以便可以从 libc 中选择 memcpy 的定义libc_psr oa 的任何其他解决方法?

4

1 回答 1

1

尝试导出

LD_NOAUXFLTR=1

这个

于 2011-04-20T09:05:11.650 回答