Qt 5.1 рдФрд░ рд╡рд┐рдВрдбреЛрдЬ рдкрд░ рдЙрдЪрд┐рдд рддреИрдирд╛рддреА

рд╢реБрдн рджреЛрдкрд╣рд░
рд╡рд╣ рдореЗрд░реЗ рд▓рд┐рдП рдмрд╣реБрдд рджрдпрд╛рд▓реБ рдирд╣реАрдВ рдерд╛, рдЙрд╕рдиреЗ рдЕрдкрдиреЗ рдЬреАрд╡рди рдХреЗ 10 рдШрдВрдЯреЗ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдкреНрд░рд╢реНрди рдХреЗ рд╣рд▓ рдХреА рдЦреЛрдЬ рдореЗрдВ рдмрд┐рддрд╛рдП, рд▓реЗрдХрд┐рди рдЕрдВрдд рдореЗрдВ рдореБрдЭреЗ рдпрд╣ рдорд┐рд▓ рдЧрдпрд╛, рдФрд░ рдЕрдм рдореИрдВ рдЗрд╕реЗ рдЖрдкрдХреЗ рд╕рд╛рде рд╕рд╛рдЭрд╛ рдХрд░реВрдВрдЧрд╛ред
рддреЛ, рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдкреГрд╖реНрдарднреВрдорд┐ред
рдореЗрд░реЗ рдПрдХ рдЧреНрд░рд╛рд╣рдХ рдиреЗ рдореБрдЭреЗ Qt рдкрд░ рдПрдХ рдХрд┐рдпреЛрд╕реНрдХ-рдореЛрдб рдПрдкреНрд▓рд┐рдХреЗрд╢рди рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╣рд╛ред рдФрд░ рд╢реБрд░реБрдЖрдд рдХреЗ рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдПрдХреНрд╕рдкреА рдХреЗ рд╕рд╛рде рдкреАрдУрдПрд╕ рдЯрд░реНрдорд┐рдирд▓ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрд╕реНрдХрд░рдг рдмрдирд╛рдПрдВред
рдареАрдХ рд╣реИ, рдПрдХ рд╣рдлреНрддреЗ рдореЗрдВ рдореИрдВ рд╕рдВрд▓рдЧреНрди рд▓реЗрдЖрдЙрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрдЫ рдХрд░ рд░рд╣рд╛ рдерд╛ рдФрд░ рдЧреНрд░рд╛рд╣рдХ рдХреЛ рд╕рдВрд╕реНрдХрд░рдг рджреЗрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреАред Qt5Core.dll, Qt5Gui.dll, рдФрд░ Qt рджреНрд╡рд╛рд░рд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреНрдп .dll рдореЙрдбреНрдпреВрд▓ рд╕рдВрд▓рдЧреНрди рдХрд░рдХреЗред
рдЬрд╛рдкрд╛рдиреА рдлрд╝рд┐рдирд┐рд╢ рдЪреЗрдиреНрд╕реЙ рдиреЗ рдХрд╣рд╛, "рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкреНрд▓рдЧрдЗрди рд▓реЛрдб рдХрд░рдиреЗ рдореЗрдВ рд╡рд┐рдлрд▓"ред

рд╣рд╛рдБ, Google рдкрд░ рдЬрд╛рдПрдВред
рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ:
qt-project.org/doc/qt-5.0/qtdoc/deployment-windows.html
рдЙрд╕рдиреЗ рдмрд╣реБрдд рдорджрдж рдирд╣реАрдВ рдХреА, qt-project.org рдкрд░ рдордВрдЪреЛрдВ рдХреЛ рдкрдврд╝рдиреЗ рдЧрдИред рдпрд╣рд╛рдБ рд╕реБрдЭрд╛рдП рдЧрдП рдЙрдкрд╛рдп рд╣реИрдВ:
1) рдкреНрд▓реЗрдЯрдлрд╛рд░реНрдореЛрдВ рдпрд╛ рдирд┐рд░реНрджреЗрд╢рд┐рдХрд╛ рдореЗрдВ рдЖрд╡реЗрджрди рдлрд╝реЛрд▓реНрдбрд░ рдореЗрдВ рдХреЙрдкреА /qtbase/plugins/platforms/qwindows.dll
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХреА
2) рдкреНрд▓рдЧрдЗрдиреНрд╕ / рдкреНрд▓реЗрдЯрдлреЙрд░реНрдо, рдкреНрд▓рдЧрдЗрдиреНрд╕ / рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдбрд╛рдпрд░реЗрдХреНрдЯрд░реА рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдлреЛрд▓реНрдбрд░ рдореЗрдВ /qtbase/plugins/platforms/qwindows.dll рдХреЙрдкреА рдХрд░реЗрдВ
рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
3) рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рд╕реЗрдЯ рдХрд░реЗрдВ q_QPA_PLATFORM_PLUGIN_PATH, рдЙрд╕ рдлрд╝реЛрд▓реНрдбрд░ рдХрд╛ рдкрде рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд░реЗрдВ рдЬрд┐рд╕рдореЗрдВ qwindows.dll рд╣реИ
рдпрд╣ рдЕрд░реНрдЬрд┐рдд рдХрд┐рдпрд╛ред рд▓реЗрдХрд┐рди: рдореИрдВ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдкрд░ рдЗрдВрд╕реНрдЯреЙрд▓ рдХрд░рддреЗ рд╕рдордп рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдЗрд╕реЗ рд╣рдЯрд╛ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рдЪреВрдВрдХрд┐ рд▓реЛрдб рдХрд░рддреЗ рд╕рдордп рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреНрд░реИрд╢ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореИрдВ рдмреИрд╕рд╛рдЦреА рдХреЗ рдмрд┐рдирд╛ рднреА рдЗрд╕рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреА рдЬрд╛рдВрдЪ рдирд╣реАрдВ рдХрд░ рд╕рдХрддрд╛ред рджреВрд╕рд░реЗ, рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдХреНрдпреВрдЯреА рдХреЗ рдПрдХ рдЕрд▓рдЧ рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд╕рд╛рде рд╕реНрдерд╛рдкрд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдФрд░ рд╣реИрд▓реЛ, рдЧреНрд▓рд┐рдЪ рдФрд░ рдЕрд╕рдВрдЧрддрддрд╛рдПрдВред
4) рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рд╕реЗ рдПрдХ рдирд┐рд░реНрдгрдпред рдореБрдЦреНрдп () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЖрд░рдВрднреАрдХреГрдд рдХрд░рддреЗ рд╕рдордп, рдлрд╝реЙрд░реНрдо рдХреА рдПрдХ рдкрдВрдХреНрддрд┐ рдЬреЛрдбрд╝реЗрдВ:
qApp->addLibraryPath("C:/customPath/plugins"); 

qApp рд╣рдорд╛рд░рд╛ QApplication рд╣реИред рдпрд╣ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛
5) рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ "-platformpluginpath \" path_to_folder_with_qwindows.dll \ "
рдЬрд╛рдБрдЪ рдХреА рдЧрдИред рдпрд╣ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рджреЗрдЦрд╛! рдпрд╣рд╛рдБ рд╕рдорд╛рдзрд╛рди рд╣реИ! (рдЬреЛ рдЕрд╕рддреНрдп рдирд┐рдХрд▓рд╛)

рдЗрд╕ рддрд░рд╣ рд╕реЗ рдЗрдВрд╕реЛрд╕реЗрдЯрдЕрдк рд╕реНрдХреНрд░рд┐рдкреНрдЯ рдХреЛ рд╕рдВрдкрд╛рджрд┐рдд рдХрд░реЗрдВ:

 [Files] ... Source: "..\build\deploy\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion [Icons] Name: "{group}\{#MyAppName}"; Filename: "{app}\TryumPosWin.exe"; Parameters:"-platformpluginpath \"{app}\platforms\"" ; WorkingDir: "{app}"; 


рд╣рдо рдЧреНрд░рд╛рд╣рдХ рдХреЛ рджреЗрддреЗ рд╣реИрдВ, рдЖрдирдиреНрджрд┐рдд рд╣реЛрддреЗ рд╣реИрдВред
рд╢реБрд░реБрдЖрддреА рдЖрдирдиреНрдж, sqlite рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред рдкреНрд▓рдЧрдЗрдиреНрд╕ \ sqldrivers рдореЗрдВ рдбрд╛рд▓, рдмрд╕ sqldrivers рдиреЗ рдорджрдж рдирд╣реАрдВ рдХреА - рдпрд╣ рджреЗрдЦрдиреЗ рдпрд╛ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реИ, рдпрд╣рд╛рдБ рдХреЛрдб рд╣реИ:
  if (QSqlDatabase::isDriverAvailable("QSQLITE")){ qDebug("QSqlite driver found."); } else { qFatal("QSqlite driver NOT found!"); } 

рдПрдХ рддреНрд░реБрдЯрд┐ рдХреЗ рд╕рд╛рде рдмрд╛рд╣рд░ рдЧрд┐рд░рд╛ рджрд┐рдпрд╛ред рдореБрдЭреЗ sql рдкреНрд▓рдЧрдЗрдиреНрд╕ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реНрдпрд╛рд╡рд░рдг рдЪрд░ рдпрд╛ рдХрдорд╛рдВрдб рд▓рд╛рдЗрди рддрд░реНрдХ рдирд╣реАрдВ рдорд┐рд▓рд╛ред
рд╡рд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬ рдФрд░ рд╡рд┐рдЪрд╛рд░ рдкрд░ рд▓реМрдЯ рдЖрдпрд╛ред рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╣рдо рд╕реНрдереИрддрд┐рдХ рд╡рд┐рдзрд┐ рдХреЛ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдХреНрдпреЛрдВ рдХрд╣рддреЗ рд╣реИрдВ?
рдФрд░ рдЪреВрдВрдХрд┐ рдпрд╣ рд╕реНрдерд┐рд░ рд╣реИ, рдХреНрдпрд╛ рдЗрд╕реЗ рдПрдХ рдЙрджрд╛рд╣рд░рдг рдмрдирд╛рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ?

рдпрд╣ рдХреЛрдб рдЕрдВрдд рдореЗрдВ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:
 int main(int argc, char *argv[]) { Q_INIT_RESOURCE(resources); QStringList paths = QCoreApplication::libraryPaths(); paths.append("."); paths.append("imageformats"); paths.append("platforms"); paths.append("sqldrivers"); QCoreApplication::setLibraryPaths(paths); QApplication a(argc, argv); a.setQuitOnLastWindowClosed(false); QDbc::init(); MainWindow w; w.showFullScreen(); a.exec(); QDbc::finalize(); } 

рд╡реИрд╕реЗ, рд░рд╛рд╕реНрддрд╛ рддрдп рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдореБрдЭреЗ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рдорд┐рд▓рд╛:
 paths.append(QCoreApplication::applicationDirPath() + "/plugins"); 

рд▓реЗрдХрд┐рди рдпрд╣ рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ QCoreApplication :: applicationDirPath () рдПрдХ рдЪреЗрддрд╛рд╡рдиреА рдлреЗрдВрдХрддрд╛ рд╣реИ рдпрджрд┐ QApplication рдЙрджрд╛рд╣рд░рдг рдЕрднреА рддрдХ рдирд╣реАрдВ рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ InnoSetup рдореЗрдВ "рдлрд╝рд╛рдЗрд▓реЗрдВ" рдЦрдВрдб рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:

 [Files] Source: "..\build\deploy\icudt51.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\icuin51.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\icuuc51.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\libEGL.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\libGLESv2.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\msvcp100.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\msvcr100.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\Qt5Core.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\Qt5Gui.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\Qt5Network.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\Qt5Sql.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\Qt5Widgets.dll"; DestDir: "{app}"; Flags: ignoreversion Source: "..\build\deploy\imageformats\qico.dll"; DestDir: "{app}\imageformats"; Flags: ignoreversion Source: "..\build\deploy\platforms\qwindows.dll"; DestDir: "{app}\platforms"; Flags: ignoreversion Source: "..\build\deploy\sqldrivers\qsqlite.dll"; DestDir: "{app}\sqldrivers"; Flags: ignoreversion 


рд▓реЗрдЦ рдПрдХ рд╡реНрдпрд╛рдкрдХ рдЕрдзреНрдпрдпрди рд╣реЛрдиреЗ рдХрд╛ рджрд╛рд╡рд╛ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдореБрдЭреЗ рд╕рд╣реА рдХрд╛рд░реНрдп рд╕рдорд╛рдзрд╛рди рдирд╣реАрдВ рдорд┐рд▓рд╛ рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВрдиреЗ рдЕрдкрдирд╛ рдЦреБрдж рдХрд╛ рдкреНрд░рдХрд╛рд╢рди рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛ред
рдЖрдкрдХрд╛ рдзреНрдпрд╛рди рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рдж!

Source: https://habr.com/ru/post/In188816/


All Articles