Не удается найти c:UsersqtworkinstalllibQt5Widgetsd.lib при компиляции примеров QtWebEngine
Тем не менее, я понятия не имею, откуда приходит этот путь c:Usersqtworkinstalllib . Я выполнил текстовый поиск во всех каталогах примерной папки и никаких удалений, кроме сгенерированных файлов (makefiles и pdbs).
Я также проверил переменные системной среды, но не ударил. Кроме того, я проверил панель проектов Qt Creator’r и ее среду сборки и все равно никаких хитов.
Я что-то пропустил?
PS эта ошибка была выдана путем связывания примера DemoBrowser с QtWebEngineWidgets pro
Исправить — Загрузите и скопируйте файл Qt5Core.dll в определенные папки —
Вам необходимо загрузить файл Qt5Core.dll на свой компьютер, а затем вы должны поместить его в конкретную папку (зависит от 32-битной / 64-битной архитектуры).
1. Нажмите клавиши Windows + R, чтобы запустить окно « Выполнить» на вашем компьютере.
2. Теперь, в Run окне введите « msinfo32 » и нажмите Enter .
Откроется окно информации о системе .
3. В правой части окна « Информация о системе» проверьте « Тип системы » (будь то ПК на базе x32 или x64 ).
Закройте окно информации о системе .
4. Теперь перейдите по этой ссылке, чтобы загрузить файл dll в соответствии с системной архитектурой вашего компьютера.
5. Проверьте архитектуру и нажмите « Загрузить », чтобы загрузить файл DLL на свой компьютер.
6. После того, как вы загрузили файл, перейдите по адресу, по которому вы только что загрузили файл.
7. Распакуйте файл « qt5core.zip » в любое место по вашему выбору.
7. Теперь перейдите в то место, куда вы извлекли файл.
8. Выберите « Qt5Core.dll », а затем вам нужно нажать Ctrl + C, чтобы скопировать его.
9. Теперь, в соответствии с архитектурой вашей системы, вам нужно вставить файл dll в определенные папки —
Для 32-разрядных пользователей перейдите в это место — C: Windows System32.
Для 64-разрядных пользователей перейдите в это место — C: Windows SysWOW64.
10. Перейдя в папку, нажмите Ctrl + V , чтобы вставить файл dll.
Перезагрузите компьютер, чтобы изменения вступили в силу.
После перезагрузки установите флажок, чтобы снова попытаться открыть приложение / игру на вашем компьютере.
Проблема должна быть решена.
ПРИМЕЧАНИЕ —
Если вы используете 64-битную систему, но проблема не решена, вставьте файл dll в папку « System32 ».
1. Скопируйте файл Qt5Core.dll, как описано в шаге 8.
2. Теперь нажмите клавишу Windows + E, чтобы открыть окно проводника .
Не удалось запустить приложение, поскольку оно не могло найти или загрузить «окна» плагина платформы QT.
Я просмотрел все вопросы, которые, похоже, связаны с переполнением стека, и ни одно из решений, похоже, мне не помогло.
Я создаю приложение Qt с такой настройкой:
- Windows 7 Профессиональная x64
- Visual Studio 2012
- Qt 5.2.0 построен с configure -developer-build -debug-and-release -opensource -nomake examples -nomake tests -platform win32-msvc2012 -no-opengl
- В проекте используется QtSingleApplication (qt-solutions)
- Приложение представляет собой 32-битное приложение
- qmake запускается со следующим: -makefile -spec win32-msvc2012
- .pri использует QMAKE_CXX += /D_USING_V110_SDK71_
Я могу нормально собрать и запустить свою программу на моей машине разработки (как указано выше); Я также могу установить и запустить пакет из каталога Program Files на машине разработчика.
Когда я устанавливаю и запускаю на машине с Windows Vista (несколько машин)
- VC ++ redist 2012 11.0.61030.0 установлен
- VC ++ redist 2010 10.0.40219 установлен
- плюс версии Redist 2005, 2008
(также не работает при чистой установке Windows 7)
Application failed to start because it could not find or load the QT platform plugin ‘windows’
Итак, я следовал инструкциям и добавил каталог .platforms / и добавил qwindows.dll (также добавил qminimal.dll и qoffscreen.dll); Я также добавил libEGL.dll, libGLESv2.dll (хотя они мне не нужны, я не думаю)
Как только я добавил qoffscreen.dll, теперь я получаю дополнительное сообщение: Available platform plugins are: offscreen
Если я запускаю Dependency Walker, я получаю следующую ошибку:
а затем вниз получите:
Есть идеи, как исправить эту проблему с dll?
- 1 Посмотрите, поможет ли это — stackoverflow.com/a/11185037/492336. Обратите особое внимание на — «Вы сможете настроить Vista на VS2012, но не на общедоступную бета-версию. Распространяемая бета-версия, что сбивает с толку, использовалось для установки на Vista, но там не работала». Я предполагаю, что если вы используете общедоступную бета-версию, распространяемый пакет установится, но программа не запустится.
- Я смущен вашим комментарием. Я строю на машине с Windows 7 x64. Также не используется бета-версия. Я нацеливаю приложение на использование в Windows XP, Vista и так далее.
- 1 @sashoalm спасибо! Моя проблема заключалась в другом выпуске и другом компиляторе (Qt5.6.0, VS 2015), но в конечном итоге использование общедоступных dll-версий для Qt вместо общедоступных бета-библиотек решило проблему для меня.
- 1 Возможный дубликат Qt5 Static Build дает ошибку. Не удалось загрузить «окна» плагина платформы.
Ошибка вызвана тем, что программа не может найти qwindows.dll
qwindows.dll должен находиться в папке с именем platforms так что путь от вашего исполняемого файла к dll будет platforms/qwindows.dll
А в моем случае этого было недостаточно. Мне также пришлось добавить следующую строку в начале моего main ()
Потом все заработало.
- +1 Отлично, с addLibraryPath заработало! Обратите внимание, что вы должны вызвать его перед построением QApplication
- Где этот main ()? В каком файле?
- @Gautam Shrivastav Точка входа в ваше приложение. Файл main.cpp.
Приложение может работать в хост-системе, поскольку Qt bin путь находится в системе PATH переменная.
Есть стандартный инструмент Qt для развертывания приложений Qt в Windows. windeployqt чтобы иметь возможность запускать приложение на целевых машинах, на которых не установлен Qt.
Этот инструмент заботится о зависимостях Qt DLL, делает копию platformsqwindows.dll а также он создает копии библиотек, которые вы не можете обнаружить с помощью Зависимость Уокер, поскольку плагины изображений и некоторые другие библиотеки DLL загружаются во время выполнения.
Вам даже не нужно иметь свой Qt bin папка в вашей среде PATH . Самое простое развертывание:
- копия построена exe двоичный файл в новую папку
- открытым cmd консоль в этой папке
- вызов windeployqt используя полный путь (если его нет в системе PATH ) и укажите свой исполняемый файл, например:
В результате у вас есть в этой папке все необходимые Qt DLL для запуска приложения.
Инструмент windeployqt есть разные варианты. Он также может позаботиться о развертывании qml связанные файлы.
Конечно, у вас также могут быть проблемы с распространяемыми файлами MSVC, но их следует развертывать отдельно и устанавливать один раз для каждой системы.
Только некоторые сторонние библиотеки следует копировать вручную, если они используются, например OpenSSL.
- Это дает мне возможность найти плагин платформы.
- одно, что нужно добавить, windeployqt.exe —release application.exe, если вы создаете сборку выпуска
У меня возникла эта проблема и как я ее решил:
Использовал dependency walker (http://www.dependencywalker.com/), чтобы увидеть точный путь к необходимым dll. Попробуйте, потому что и QtCreator, и QT framework имеют одинаковые библиотеки DLL, и вы должны точно указать, какие из них используются. Я скопировал все необходимые DLL в ту же папку, что и приложение.
Я скопировал платформы папок из QT framework / plugins и скопировал их в ту же папку, что и приложение. Теперь приложение содержит также плагин / платформу / папку со всеми его dll.
И самый важный шаг в моем случае — создать файл с именем qt.conf в той же папке, что и приложение. Этот файл должен содержать путь к плагинам. Мой файл qt.conf содержит:
[Пути]
Библиотеки = .. / lib / qtcreator
Плагины = плагины
Импорт = импорт
Qml2Imports = qml
- Спасибо, у меня это сработало для Windows XP SP3. В итоге я получил эти dll вместе с моим приложением, которое позволило работать версиям DEBUG и RELEASE (в данном случае Basic GUI + XML): icudt52.dll icuin52.dll icuuc52.dll msvcp120.dll msvcp120d.dll msvcr120.dll msvcr120d.dll Qt5Core.dll Qt5Cored.dll Qt5Gui.dll Qt5Guid.dll Qt5Widgets.dll Qt5Widgetsd.dll Qt5Xml.dll Qt5Xmld.dll vccorlib120.dll vccorlib120d.dll плагины платформы qminimal.dll qminimaldsc.dll qoffndscreen.dll qoffndscreen.dll .dll qwindowsd.dll
- Я был вынужден добавить в список выше как libGLESv2.dll, так и libEGL.dll, чтобы избежать этой проблемы на qt5.3.1.
У меня была такая же проблема: «Приложение не запускалось, потому что оно не могло найти или загрузить окна плагина платформы QT». Я исправил это, скопировав файлы ниже в папку app.exe (исполняемый файл моего приложения),
Qt5Core.dll, Qt5Gui.dll, Qt5Widgets.dll и каталог «платформ» с qminimal.dll, qoffscreen.dll, qwindows.dll.
Надеюсь это кому-то поможет
Обратите внимание, что эта проблема может также быть вызвано, если путь поиска для qwindows.dll который закодирован в вашем приложении, включает путь, по которому вы установили Qt. Рассмотрим следующий сценарий:
- Я устанавливаю Qt в c:Qt.
- Я разрабатываю приложение и правильно развертываю его в другом месте.
- Он работает на любом компьютере правильно, потому что включает qwindows.dll в подкаталоге.
- Я обновляю свой локальный Qt до новой версии.
- Я пытаюсь снова запустить приложение.
Результатом является эта ошибка, потому что qwindows.dll в c:Qt. находится перед тот, который находится в его локальном каталоге, и несовместим с ним. Очень надоедливый.
Решение — разместить файл qt.conf в том же каталоге, что и ваш exe-файл. Я не знаю, как этого избежать. Если вы использовали инструмент windeployqt.exe для развертывания вашего приложения, чтобы у вас был подкаталог с именем platforms , то этого достаточно:
Для меня мне нужно было установить QT_QPA_PLATFORM_PLUGIN_PATH в каталог платформ, и тогда это сработало.
Как бы то ни было, это решение также упоминалось на GitHub.
Для людей, у которых в будущем возникнет эта проблема — у меня сработал маленький грязный хакер. Попробуйте на свой страх и риск.
Выполните все шаги, описанные в разделе «Первоначальное развертывание (быстрое и грязное)» [http://wiki.qt.io/Deploy_an_Application_on_Windows]
- Закройте Qt Creator.
- Скопируйте следующее в C: Deployment Версия выпуска MyApp.exe Все файлы .dll из C: Qt 5.2.1 mingw48_32 bin Все папки из C: Qt 5.2.1 mingw48_32 плагины
- (Если вы использовали QML) Все папки из C: Qt 5.2.1 mingw48_32 qml Переименуйте C: Qt в C: QtHidden (Это превращает ваш компьютер в чистую среду, точно такую же, как та, которая не Qt не установлен).
- Запустите C: Deployment MyApp.exe.
Теперь о взломе —
- Сделайте копию своей папки для безопасности
- Если ваш файл находился в / cat / Deployment, перейдите в / cat
- Теперь удалите папку «Развертывание» при запущенном .exe.
- Он сообщит вам, что не может удалить определенные файлы, поэтому скажите Пропустить (или пропустить все)
- У вас остался список всех DLL-файлов, которые ваш .exe фактически использовал и которые не удалось удалить: список всех файлов и только тех файлов, которые вам нужно сохранить.
Теперь вы можете закрыть файл .exe. Чтобы проверить, правильно ли он развертывается, зайдите в папку, в которую вы его установили, скажем C: / Qt и переименуйте его в C: / NotQt (в основном сделайте Qt невидимым для системы). Если он работает сейчас, он будет чаще развертываться в других системах.
Я решил свою проблему, хотя не уверен, в чем разница:
Я скопировал каждую dll из моего каталога qt в ./ и ./platforms каталога моего приложения.
Приложение прошло ошибку, но затем вылетело.
VERSION.dll вызывал сбой (отмеченный в обходчике зависимостей), поэтому я удалил его из обоих мест.
Приложение запустилось, поэтому я систематически удалял все ненужные dll.
Это вернуло меня в то же состояние, в котором я был изначально.
Затем я удалил свое приложение и переустановил (оставив только файл ./platforms/qwindows.dll), приложение работает правильно.
Итак, все, что я могу предположить, это то, что у меня была неправильная версия qwindows.dll в каталоге платформ.
У меня такая же проблема: 1. он может работать в VS2010; 2. он может работать в папке с файлами как: app.exe platform qwindows.dll .
- но не удалось загрузить qwindows на чистую машину с той же ОС, что и на разрабатываемой.
Решается простым перемещением папки платформы в плагины: app.exe plugins platform qwindows.dll
плюс: qwindows.dll можно переименовать как угодно, так как он запрашивается плагином Interafce: qt_plugin_query_metadata ()
Отсутствует qwindows.dll, который обычно должен быть на платформах, если вы не добавите:
Если вы этого не сделаете и поместите qwindows.dll в другое место, Qt будет искать DLL в вашем PATH, что может занять МНОГО времени (10 секунд — несколько минут)!
Я исправил это, поместив qt.conf в папке exe моего приложения:
- Я установил собственный комплект Qt в C:QtQt5.11.25.11.2msvc2017
- qt.conf сообщает приложению, где находится пользовательский комплект, через Prefix свойство. Обратите внимание: используйте косую черту, а не обратную косую черту (!)
- И, необязательно, папка bin комплекта Qt включена в мой PATH переменная окружения
Определение Prefix в твоем qt.conf файл позволяет ему найти qwindows.dll плагин платформы при запуске вашего приложения.
Пробовал все вышеперечисленное — у меня оказалось просто потому, что у меня не было основного Qt dll в apps папка
- Qt5Core.dll
- Qt5Widgets.dll
- так далее
Вам нужно добавить переменную окружения QT_QPA_PLATFORM_PLUGIN_PATH в систему, которая указывает на каталог платформ в плагинах QT. В моем случае я использовал Anaconda и PySide2. Поэтому мой путь к каталогу был C:ProgramDataAnaconda3envscvLibsite-packagesPySide2plugins . Это устраняет проблему для каждого проекта QT. В противном случае у вас есть каталог для копирования платформ в каждый проект QT.
метод 1: Загрузить qt5svg.dll автоматически
Не знаете, какая версия qt5svg.dll вам нужна? Не волнуйтесь; используйте автоматический метод для решения проблемы или просто прочитайте статью ниже.
Для этого метода скачайте qt5svg.dll по нашей ссылке и используйте командную строку, чтобы зарегистрировать отсутствующую qt5svg.dll:
- Одновременно нажмите клавиши Windows и R на клавиатуре — появится окно Run — введите cmd — нажмите Ctrl+Shift+Enter — перед вами появится командная строка с правами администратора.
- Когда появится запрос, необходимо разрешить командной строке вносить изменения, поэтому нажмите Yes.
- Теперь удалите файл реестра (введите или скопируйте команду regsvr32 /u qt5svg.dll, а затем нажмите Enter).
- Теперь зарегистрируйте файл: введите команду regsvr32 qt5svg.dll и нажмите Enter.
- Закрыть командную строку и запустить приложение.
QT5SVG.DLL ВЕРСИИ
дата выпуска: February 28, 2021
Версия / биты | Язык | Размер | MD5 / SHA-1 |
---|---|---|---|
5.7.0.0 32bit | U.S. English | 0.24 MB | MD5 SHA1 |
дата выпуска: February 28, 2021
Версия / биты | Язык | Размер | MD5 / SHA-1 |
---|---|---|---|
5.5.0.0 32bit | U.S. English | 0.24 MB | MD5 SHA1 |
дата выпуска: February 28, 2021
Версия / биты | Язык | Размер | MD5 / SHA-1 |
---|---|---|---|
5.14.1.0 64bit | U.S. English | 0.34 MB | MD5 SHA1 |
дата выпуска: February 28, 2021
Версия / биты | Язык | Размер | MD5 / SHA-1 |
---|---|---|---|
5.13.2.0 32bit | U.S. English | 0.26 MB | MD5 SHA1 |
Какая версия qt5svg.dll правильная?
Посмотрите на описания в таблице, где можно выбрать нужный файл. Существуют версии для 64-битной или 32-битной Windows и используемые в них языки. Выберите те dll-файлы, язык которых идентичен языку самой программы. Загрузите последние версии dll-файлов для своей программы.
Where should you place qt5svg.dll?
Ошибка «qt5svg.dll пропущена» будет исправлена, если переместить файл в папку установки приложения или игры. Также можно переместить qt5svg.dll в системный каталог Windows.
Если этот метод не помогает, используйте следующий.
Не удается открыть проект qt creator внутри visual studio 2013, на вашем компьютере отсутствует qt5widgetsd.dll
Когда я пытаюсь отладить проект, созданный внутри qtcreator, с помощью Visual Studio 2013, я получаю эту ошибку:
программа не может запуститься, потому что на вашем компьютере отсутствует qt5widgetsd.dll.
Обратите внимание, что отсутствующим dll является qt5widgetsd.dll, а не qt5widgets.dll. Я открываю проект, используя файл проекта qt5/open qt, используя Visual Studio 2013 и qt 5.4.1.
Qt для Windows
Qt — это кросс-платформенный фреймворк, с помощью которого можно создавать программное обеспечение, которое будет компилироваться в исполняемые файлы для различных операционных систем без изменения или с минимальным изменением кода. Первоначально платформа Qt создавалась для работы с кодом на языке программирования C++, однако вскоре появились наборы расширений для программирования на PHP, Python, Ruby и Java.
Являясь объектно-ориентированной средой программирования рассчитанной на мультиплатформенную разработку, Qt распространяется вместе с классами и библиотеками необходимыми для разработки элементов интерфейса в различных платформах, поддержки работы с сетью и подключения к базам данных, что делает его пригодным «из коробки» для создания большинства прикладных программ. Как и у большинства современных сред разработки и фреймворков, при необходимости функциональность Qt можно значительно расширить с помощью подключаемых плагинов и виджетов.
Фактически после выхода версии 4.5.0, которая получила интегрированный модуль Qt Creator, фреймворк стал представлять собой полноценную мультиплатформенную среду разработки в которой можно полноценно писать код, разрабатывать графические интерфейсы режиме визуального редактора с помощью модуля Qt Designer, разрабатывать кросс-платформенную справку воспользовавшись Qt Assistant и локализировать своё приложение на множество языков с благодаря модулю Qt Linguist.
Как и в случае с большинством свободно распространяемых программ, вы можете скачать исходный код Qt с официального сайта и собственноручно собрать нужные модули с персональными пожеланиями, однако в большинстве случае достаточно скачать Qt в виде автоматизированного установщика и просто выбрать, какие именно компоненты вам необходимы
Большинство модулей фреймворка Qt распространяются по лицензии LGPL v3 и GPL v3 с открытым исходным кодомLGPL v3 и GPL v3 с открытым исходным кодом и его можно скачивать и использовать бесплатно. При этом нужно иметь в виду, что лицензия некоторых модулей требует, чтобы создаваемый вами продукт так же распространялся под лицензией совместимой с GPL. Подробности лицензирования можно уточнить на официальном сайте фреймворка.