Добрый день.
Хочу развернуть приложение в Linux (Ubuntu 14), сделанное на Qt 5.8. Что было сделано:
1. В файле *.pro было записано это:
QMAKE_LFLAGS += "-Wl,-rpath,\'\$$ORIGIN\'"
2. После компиляции приложения была создана папка, в которую был помещен сам исполняемый файл, файлы вида libQt5[...].so.5 (в том числе libQt5DBus), другие файлы, которые обнаружила утилита ldd, а также папка platforms с файлом libqxcb.so.
На свежеустановленном Ubuntu запускаю мое приложение, но ничего не происходит. Пробую запустить его через терминал, получаю:
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.
Аварийный останов (сделан дамп памяти)
Запускаю вот так: LD_LIBRARY_PATH=. QT_DEBUG_PLUGINS=1 ./MyApp
Получаю:
QFactoryLoader::QFactoryLoader() checking directory path "/home/andrey/Документы/RXE/platforms/platforms" ...
QFactoryLoader::QFactoryLoader() checking directory path "/home/andrey/Документы/RXE/platforms" ...
QFactoryLoader::QFactoryLoader() looking at "/home/andrey/Документы/RXE/platforms/libqxcb.so"
Found metadata in lib /home/andrey/Документы/RXE/platforms/libqxcb.so, metadata=
{
"IID": "org.qt-project.Qt.QPA.QPlatformIntegrationFactoryInterface.5.2",
"MetaData": {
"Keys": [
"xcb"
]
},
"className": "QXcbIntegrationPlugin",
"debug": false,
"version": 328193
}
Got keys from plugin meta data ()
This application failed to start because it could not find or load the Qt platform plugin "xcb"
in "".
Reinstalling the application may fix this problem.
Аварийный останов (сделан дамп памяти)
Т.е. он видит libqxcb.so, но не запускает его... Что делать? Что нужно прописать в настройках проекта, в PRO файле,... чтобы мое приложение запускалось НОРМАЛЬНО, по-человечески, нажимая на иконку как в Windows?
Делать bash скрипт, который подменяет что-то там в LD_LIBRARY_PATH не хочется. По-человечески надо.