Развертывание на основе Qt 5.12.8 из Ubuntu20.04 вызовет проблемы~
Развертывание на основе Qt 5.12.8 ubuntu20.04 вызовет проблемы. Если вы посмотрите на тестовую зависимость ldd, libQt5xxx правильно ссылается на rpath там, где вы его указываете. Некоторые libQt5Network.so.5 ссылаются на /usr/lib/x86_64-linux-gnu. Почему libQt5Network.so.5 не может ссылаться на папку ./TEST/qt/lib, указанную в rpath?
Чистая только ubuntu20.04 (qtcreator не установлен) вообще не работает Однако для нормальной ссылки требуется экспорт LD_LIBRARY_PATH=..../TEST/qt/lib. Я стараюсь не использовать LD_LIBRARY_PATH.
К вашему сведению, версия ubuntu18.04 для Qt — 5.9.5 работает именно там, где вы указываете обычный rpath. (Не LD_LIBRARY_PATH, а точная ссылка на папку, указанную в rpath, qt.conf)
1. test.pro
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/TEST/qt/lib\'"
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/TEST/libs\'"
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN/TEST/qt/plugins\'"
2. /TEST/qt/lib File lists(exist libQt5Network.so.5)
libQt5Xml.so.5
libQt5XcbQpa.so.5
libQt5Widgets.so.5
libQt5Svg.so.5
libQt5Sql.so.5
libQt5OpenGL.so.5
libQt5Network.so.5
libQt5MultimediaWidgets.so.5
libQt5MultimediaGstTools.so.
libQt5Multimedia.so.5
libQt5Gui.so.5
libQt5DBus.so.5
libQt5Core.so.5
......
3. qt.conf
[Paths]
Prefix = /TEST
Libraries = qt/lib
Plugins = qt/plugins
Imports = qml
Qml2Imports = qml
ldd test
libQt5Multimedia.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Multimedia.so.5 (0x00007f92537f2000)
libQt5Widgets.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Widgets.so.5 (0x00007f9253157000)
libQt5Gui.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Gui.so.5 (0x00007f9252b6c000)
libQt5Xml.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Xml.so.5 (0x00007f9252b2a000)
libQt5Sql.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Sql.so.5 (0x00007f9252ada000)
libQt5Core.so.5 => /media/sf_test/EXE/./TEST/qt/lib/libQt5Core.so.5 (0x00007f9252591000)
libstdc++.so.6 => /media/sf_test/EXE/./TEST/qt/lib/libstdc++.so.6 (0x00007f92523af000)
libgcc_s.so.1 => /media/sf_test/EXE/./TEST/qt/lib/libgcc_s.so.1 (0x00007f9252394000)
libc.so.6 => /media/sf_vdm/EXE/./TEST/qt/lib/libc.so.6 (0x00007f92521a2000)
libQt5Network.so.5 => /lib/x86_64-linux-gnu/libQt5Network.so.5 (0x00007f9251fcb000)
or libQt5Network.so.5 => not found
What I expected was
libQt5Network.so.5 => ***/media/sf_test/EXE/./TEST/qt/lib/libQt5Network.so.5*** (0x00007f9251fcb000
)
Пожалуйста, помогите мне~~~ Спасибо