Название: Failed to load platform plugin "windows" [решено] Отправлено: Igors от Июль 06, 2014, 11:29 Добрый день
После старта приложения, при создании QApplication либа qwindows(d).dll ищется по пути вбитому в базовую dll, (напр C:\Qt\5.2.0\msvc2012\plugins\platforms\qwindows.dll), в результате приложение не грузится при переносе на др машину. Путь можно изменить с помощью qApp->libraryPath() и qApp->setLibraryPath(). В гугле масса ответов - но ни один из них не работает. Напр http://habrahabr.ru/post/188816/ (http://habrahabr.ru/post/188816/). Начало очень хорошее, я сам убедился что это не проходит. Но увы, рецепт автора у меня тоже не бычит :'( И у меня нет никаких sql, просто приложение под Вындоуз. Скопировал qwindows.dll рядом с exe и сделал setLibraryPath(<GetModuleFileName>) - не проходит. Еще пробовал прилинковать qwindows.lib, ничего не дает. Сейчас разбираюсь по исходникам, тяжело. Спасибо Название: Re: Failed to load platform plugin "windows" Отправлено: Old от Июль 06, 2014, 11:33 А если положить рядом с exe в директорию platforms?
Название: Re: Failed to load platform plugin "windows" Отправлено: Bepec от Июль 06, 2014, 11:44 Только так, как предложил Old.
В Qt5 используется система наподобие плагинов :) Таким образом механизм поиска забит у него внутри :D Название: Re: Failed to load platform plugin "windows" Отправлено: Igors от Июль 06, 2014, 12:01 Да, hard-coded
Код: Q_GLOBAL_STATIC_WITH_ARGS(QFactoryLoader, loader, Спасибо Название: Re: Failed to load platform plugin "windows" Отправлено: Old от Июль 06, 2014, 12:04 Да, hard-coded Описанный в документации.Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Bepec от Июль 06, 2014, 12:37 И вот за это я пятёрку и не люблю :D Какие то ограничения создаются непонятные и криво выглядящие :D
Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Old от Июль 06, 2014, 12:47 И вот за это я пятёрку и не люблю :D Какие то ограничения создаются непонятные и криво выглядящие :D В четверке было так же.Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Paramon от Июль 06, 2014, 12:51 И вот за это я пятёрку и не люблю :D Какие то ограничения создаются непонятные и криво выглядящие :D А на 4.8.6 не так, что-ли. Установил на кнопку иконку, перенёс на чистую машину - всё работает, иконки нету. Намаялся, пока до гугла не добрался.Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Bepec от Июль 06, 2014, 13:19 В четверке можно отказаться от плагинов и/или указать к ним путь в Qt.conf.
А вот в пятерке нужно с собой таскать хренову тучу хзчего и всё это забито железно :) PS можно ли собрать как нибудь Qt 5+ без всяких icu icc и прочей хрени на 40 мб? Чтобы хотя б мб в 20 уместилося? Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Old от Июль 06, 2014, 13:27 В четверке можно отказаться от плагинов и/или указать к ним путь в Qt.conf. Почитайте уже документацию, в пятерке с этим все точно так же, как и в четверкеА вот в пятерке нужно с собой таскать хренову тучу хзчего и всё это забито железно :) Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Paramon от Июль 06, 2014, 13:36 В четверке можно отказаться от плагинов и/или указать к ним путь в Qt.conf. Что значит отказаться? Дайте линк просветиться. ???Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Bepec от Июль 06, 2014, 13:45 to Paramon: Отказаться я имею в виду в буквальном смысле этого слова. Можно не использовать.
Плагины не обязательны для работы программы, они лишь "приятное дополнение". Никто не заставляет их использовать. А в пятёрке platforms обязателен в любом случае. И depends не выдаёт зависимости, обо она динамически загружается :D Ну и чисто не понимаю я почему вдруг неожиданно тролли взяли курс на "давайте 30 dll друг с другом скомпилируем". Если ранее это именно "библиотека С++" была, то сейчас это походит на самостоятельный рантайм :) to Old: вы можете переместить platforms с помощью qt.conf? Если у вас есть пятерка, попробуйте пожалуйста и отпишитесь. Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Old от Июль 06, 2014, 15:25 to Old: вы можете переместить platforms с помощью qt.conf? Если у вас есть пятерка, попробуйте пожалуйста и отпишитесь. Могу, пятерка есть, отписался.Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Bepec от Июль 06, 2014, 15:33 Пасип :) Ну тогда остаётся претензия по "необходимости" :)
Название: Re: Failed to load platform plugin "windows" [решено] Отправлено: Old от Июль 06, 2014, 15:51 Ну тогда остаётся претензия по "необходимости" :) У меня эта претензия уже несколько лет как... Мне все эти нитки, сеть и остальная фигня, которую они туда понапихали и даром ненужны. Но делать нечего, приходится мириться. :( |