Evgenii Legotckoi
Evgenii LegotckoiНаурыз 7, 2016, 10:52 Т.Ж.

Qt WinAPI - Сабақ 003. DLL файлдарын құру үшін windeployqt пайдалану

Qt оқулықтарының бірінде бағдарламаны * Windows операциялық жүйесі жұмыс істейтін басқа компьютерлерде пайдалануға дайындау үшін жобада пайдаланылған барлық DLL құру жолы көрсетілген. * , енді мен сізге Qt бірге келетін қызметтік бағдарламамен танысуды ұсынамын. Бұл утилита windeployqt деп аталады және әдетте MinGW немесе MSVC. компиляторларымен бірге келетін консольдік қолданба болып табылады.

windeployqt пайдалану үшін оны консольден аргумент ретінде құрастырылған орындалатын қолданбаға жолды жіберу керек. Осыдан кейін windeployqt барлық қажетті кітапханаларды орындалатын файл орналасқан қалтаға жинайды.

windeployqt утилитасы bin қалтасында, ол өз кезегінде Qt компилятор қалтасында орналасқан. Осылайша, қалта жолы болуы мүмкін:

  • MinGW үшін - C:\QT\5.5\mingw492_32\bin\windeployqt.exe
  • MSVC үшін - C:\QT\5.5\msvc2013\bin\windeployqt.exe

Windeployqt-пен жұмыс істеу

Енді windeployqt жұмысына кірісейік. Сізде құрастырылған орындалатын файл бар делік және оның жұмыс істеуі үшін барлық қажетті DLL файлдарын құрастыру керек. Ол үшін кішкене дайындық жасап, орындалатын файлды жинауға дайындалған папкаға тасымалдаймыз. Мен демонстрация үшін EColor жобасын пайдаланамын, ол MinGW. арқылы жазылған. Жобаның орындалатын файлы келесі D:\EColor\EColor.exe жолында орналасады.

Осыдан кейін консольді ашу керек ( * cmd * ) және консольде windeployqt бар қалтаға өту керек. Содан кейін қызметтік бағдарламаны орындалатын файлдың орнын беру арқылы іске қосыңыз. төмендегі сурет.

Осыдан кейін қызметтік бағдарлама орындалатын файлдың жұмыс істеуі үшін қажетті барлық DLL файлдарын жинайды. Және бұл келесідей болады.

Мүмкін қателер

Айта кету керек, бәрі жеткілікті түрде тегіс бола бермейді. Мысалы, windeployqt, gcc компилятор кітапханаларын таппай, келесі қатені жіберуі мүмкін:

Cannot find GCC installation directory. g++.exe must be in the system path.

Бұл ортаның айнымалы мәндерін GCC және сәйкес кітапханаларды қамтитын қалта қалтасының жолына орнату арқылы емделеді.

Мұны істеу үшін біз келесі бағытта жүреміз (мысалы * ОЖ Windows 7 *):

Басқару тақтасы / Жүйе / Қосымша жүйе параметрлері / Ортаның айнымалылары

Содан кейін жүйелік айнымалыларға PATH айнымалы мәнін қосамыз, онда GCC және оның кітапханаларының жолдары жазылады. Менің жағдайда бұл келесідей көрінді:

  • Айнымалы атауы: PATH
  • Айнымалы мән: D:\AndroidQT\QT\5.5\mingw492_32\bin;D:\AndroidQT\QT\Tools\mingw492_32\bin;%PATH%

Содан кейін компьютерді қайта іске қосуды ұсынамын. Осыдан кейін қате жойылып, сәйкес кітапханалар орындалатын файлы бар қалтаға шығарылуы керек.

Windeployqt арқылы салынбауы мүмкін файлдар

Сондай-ақ, кейбір файлдар windeployqt көмегімен жасалмауы мүмкін, бұл қолданбаны шығарар алдында басқа компьютерде қарастырып, сынаған жөн.

Мысалы, EColor үшін DLL құру кезінде, windeployqt әлі де келесі файлдарды өткізіп жіберді:

  • LIBEAY32.dll
  • MSVCP90.dll
  • MSVCR90.dll
  • MSVCR120.dll
  • ssleay32.dll

Егер жоба QML қолданса

UPD 19.11.2018 alex_lip :

Егер жоба QML қолданса, онда сізге --qmldir арнайы директивасын қосу керек

Бұл директива QML көздерін қайдан алуға болатынын көрсетуі керек

windeployqt --qmldir f:\myApp\sources f:\build-myApp\myApp.exe

Бейне оқулық

Рекомендуем хостинг TIMEWEB
Рекомендуем хостинг TIMEWEB
Стабильный хостинг, на котором располагается социальная сеть EVILEG. Для проектов на Django рекомендуем VDS хостинг.

Ол саған ұнайды ма? Әлеуметтік желілерде бөлісіңіз!

alex_lip
  • Қар. 19, 2018, 7:32 Т.Ж.

Добавьте в статью, что если используется Qml следует делать так -


For windeployqt there is the option --qmldir .

windeployqt --qmldir f:\myApp\sources f:\build-myApp\myApp.exe


Evgenii Legotckoi
  • Қар. 19, 2018, 12:53 Т.Қ.

Спасибо, добавил

А
  • Шілде 9, 2022, 12:32 Т.Қ.
  • (өңделген)

Тук-тук. Привет из прошлого! Не могли бы вы подробнее расказать о том, куда должна быть записана данная вставка "windeployqt --qmldir f:\myApp\sources f:\build-myApp\myApp.exe"? Я пробовал указать после пути распаковки .dll, но получаю ошибку.

C:\Qt\Qt5.14.2\5.14.2\mingw73_64\bin>windeployqt.exe c:\p\untitled.exe windeployqt --qmldir ...

f:\build-myApp\myApp.exe - это путь к .exe файлку, который я хочу открыть, я так понимаю, а первый что означает (f:\myApp\sources)? Это папка с релизом проекта или это папка с самим проектом (там где .pro-файл)? Заранее спасибо

i
  • Қар. 7, 2024, 12:25 Т.Қ.

By assisting you in losing water weight, Anavar increases the chances of you losing even more weight priligy where to buy Creatinine was measured by use of a colorimetric assay BioSystems SA

Пікірлер

Тек рұқсаты бар пайдаланушылар ғана пікір қалдыра алады.
Кіріңіз немесе Тіркеліңіз
m
  • molni99
  • Қаз. 26, 2024, 11:37 Т.Ж.

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:80ұпай,
  • Бағалау ұпайлары4
m
  • molni99
  • Қаз. 26, 2024, 11:29 Т.Ж.

C++ - Тест 004. Указатели, Массивы и Циклы

  • Нәтиже:20ұпай,
  • Бағалау ұпайлары-10

C++ - Тест 003. Условия и циклы

  • Нәтиже:42ұпай,
  • Бағалау ұпайлары-8
Соңғы пікірлер
i
innorwallҚар. 7, 2024, 11:32 Т.Қ.
Qt Linux - Сабақ 001. Linux астында Autorun Qt қолданбасы The hyperinsulinemia of diabetes may also activate sodium hydrogen exchangers in cardiomyocytes leading to injury and loss and in the proximal renal tubules leading to sodium retention can…
i
innorwallҚар. 7, 2024, 11:25 Т.Қ.
Qt WinAPI - Сабақ 003. DLL файлдарын құру үшін windeployqt пайдалану By assisting you in losing water weight, Anavar increases the chances of you losing even more weight priligy where to buy Creatinine was measured by use of a colorimetric assay BioSys…
i
innorwallҚар. 7, 2024, 9:45 Т.Қ.
Linux жүйесінде файлдарды қалай көшіруге болады Microglial antigen presentation is required for antigen specific CD8 T cell infiltration to the brain parenchyma following CNS viral challenge priligy 60 mg One mechanism by which uPA…
i
innorwallҚар. 7, 2024, 7:18 Т.Қ.
Qt/C++ - 023-сабақ. QGraphicsItem элементін тінтуірмен QGraphicsScene бетіне апару In 21 5 procedures, mechanical hemodynamic support was used because of periprocedural hemodynamic instability mostly after year 2010 dapoxetina comprar online
Evgenii Legotckoi
Evgenii LegotckoiҚар. 1, 2024, 12:37 Т.Ж.
Django - Сабақ 064. Python Markdown кеңейтімін қалай жазуға болады Добрый день. Да, можно. Либо через такие же плагины, либо с постобработкой через python библиотеку Beautiful Soup
Енді форумда талқылаңыз
9
9AnonimҚаз. 25, 2024, 7:10 Т.Қ.
Машина тьюринга // Начальное состояние 0 0, ,<,1 // Переход в состояние 1 при пустом символе 0,0,>,0 // Остаемся в состоянии 0, двигаясь вправо при встрече 0 0,1,>…
Evgenii Legotckoi
Evgenii LegotckoiМаусым 25, 2024, 1:11 Т.Ж.
добавить qlineseries в функции Я тут. Работы оень много. Отправил его в бан.
F
FynjyШілде 22, 2024, 2:15 Т.Қ.
при создании qml проекта Kits есть но недоступны для выбора Поставил Qt Creator 11.0.2. Qt 6.4.3 При создании проекта Qml не могу выбрать Kits, они все недоступны, хотя настроены и при создании обычного Qt Widget приложения их можно выбрать. В чем может …

Бізді әлеуметтік желілерде бақылаңыз