Я пытался развернуть приложение Qt/QML для Linux. Произошло что-то странное, что целевая система пожаловалась на неопределенный символ в libQt5Widget.so.5
, в то время как я скопировал все связанные с Qt библиотеки, показанные в ldd -r
результате этого файла, а ldd -r
в целевой системе сказал, что "не найденных" библиотек нет.
Через некоторое время я обнаружил, что даже ldd -r
в моей собственной системе обнаруживаются неопределенные символы. Однако, когда я ldd -r
скопировал тот же файл в каталоге установки Qt, неопределенные символы не были найдены.
Вывод выглядел так:
wyl8899@Ubuntu:~/deploy/Qt_Libraries$ ldd -r libQt5Widgets.so.5
linux-vdso.so.1 => (0x00007ffd1409a000)
libQt5Gui.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Gui.so.5 (0x00007faac833d000)
libQt5Core.so.5 => /usr/lib/x86_64-linux-gnu/libQt5Core.so.5 (0x00007faac7c97000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007faac7a79000)
(... and much more)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007faac0d13000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007faac0b0d000)
undefined symbol: _ZNK19QAbstractTableModel7siblingEiiRK11QModelIndex (./libQt5Widgets.so.5)
undefined symbol: _ZTI17QPixmapIconEngine (./libQt5Widgets.so.5)
undefined symbol: _ZN17QPixmapIconEngine5paintEP8QPainterRK5QRectN5QIcon4ModeENS5_5StateE (./libQt5Widgets.so.5)
(... and much more)
wyl8899@Ubuntu:~/deploy/Qt_Libraries$ ldd -r /opt/Qt/5.5/gcc_64/lib/libQt5Widgets.so.5
linux-vdso.so.1 => (0x00007fff4b5e5000)
libQt5Gui.so.5 => /opt/Qt/5.5/gcc_64/lib/libQt5Gui.so.5 (0x00007ff5e3978000)
libQt5Core.so.5 => /opt/Qt/5.5/gcc_64/lib/libQt5Core.so.5 (0x00007ff5e3233000)
(... and much more)
libdrm.so.2 => /usr/lib/x86_64-linux-gnu/libdrm.so.2 (0x00007ff5dcdad000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007ff5dcba9000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007ff5dc9a3000)
Также я заметил, что количество отображаемых библиотек отличается. Я хотел бы знать, почему ldd -r
дает разные результаты для одного и того же файла в разных каталогах. Спасибо!