ldd:找不到库

时间:2019-01-04 10:12:47

标签: qt qnx ldd

我正在目标板上libqqnx.so上运行ldd命令。此列表列出了一些特定的从属库,然后引发称为ldd的错误:找不到库。如果我在qnx的libcpp.so.4上执行相同的操作,则它不会显示此类错误。

我的问题是,文件libqqnx.so已损坏,还是应该列出更多依赖的lib文件?

output1:

# ldd /opt/qt/plugins/platforms/libqqnx.so:
libqqnx.so => /opt/qt/plugins/platforms/libqqnx.so (0x78000000)
libscreen.so.1 => /proc/boot/libscreen.so.1 (0x78040000)
libpps.so.1 => /opt/qt/lib/libpps.so.1 (0x78031000)
libm.so.2 => /proc/boot/libm.so.2 (0x78060000)
libfreetype.so.1 => /usr/lib/libfreetype.so.1 (0x78090000)
libQt5DBus.so.5 => /opt/qt/lib/libQt5DBus.so.5 (0x780e0000)
libQt5Gui.so.5 => /opt/qt/lib/libQt5Gui.so.5 (0x78200000)
libQt5Core.so.5 => /opt/qt/lib/libQt5Core.so.5 (0x78600000)
libGLESv2.so.1 => /usr/lib/graphics/iMX6X/libGLESv2.so.1 (0x78037000)
libEGL.so.1 => /proc/boot/libEGL.so.1 (0x78053000)
libcpp.so.5 => /opt/qt/lib/libcpp.so.5 (0x78140000)
libz.so.2 => /proc/boot/libz.so.2 (0x781a0000)
libslog2.so.1 => /proc/boot/libslog2.so.1 (0x78083000)
libicui18n.so.49 => /opt/qt/lib/libicui18n.so.49 (0x78a00000)
libicuuc.so.49 => /opt/qt/lib/libicuuc.so.49 (0x78b10000)
libicudata.so.49 => /opt/qt/lib/libicudata.so.49 (0x78c00000)
ldd: Library cannot be found

output2:    

# ldd /proc/boot/libcpp.so.4:
libcpp.so.4 => /proc/boot/libcpp.so.4 (0x78000000)

#

1 个答案:

答案 0 :(得分:0)

在我看来ldd在寻找更多的库,但找不到它们。

如果您知道另一个具有其他库(.so *文件)的目录,则允许qnx在其上搜索缺少的库。您可以使用LD_LIBRARY_PATH。

例如:export LD_LIBRARY_PATH=/opt/qt/some_dir  More info here