Qt Platform Plugin Windows Download

I am trying to build a Qt5 Widget application as a ROS2 package with colcon. After followingthis tutorial (only that I am using a Widget application instead of a quick app), I finally was able to compile the package, but I cannot run it because I get the following output:

I am using a custom package.xml and CMakeLists.txt as follows:

...

The Qt community plays a vital role in ensuring the stability, richness and quality of Qt. With Qt releases being thoroughly tested by thousands of open source developers around the world, we get the boost needed to support the cost of driving further development of Qt. It ensures the future of Qt. We call this our Virtuous Cycle.

Maybe it has something to do with the entries under <build_depend> and <exec_depend>? I just took them out of the tutorial which is over 8 months old, so maybe something is outdated here. Where do I get the correct dependencies from which I Need to put into package.xml?

editretagflag offensiveclosemergedelete

EnArBgDeElEsFaFiFrHiHuItJaKnKoMsNlPlPtRuSqThTrUkZh

This chapter will describe some steps to build Qt using a windows host and the MinGW Toolchain. Since there is a 32bit and a 64bit MinGW that can be used to build your Desktop Qt you have to decide if you wanted to build Qt Libraries targetting a x86 (32bit) or a x64 (64bit) machine. Besides there is a possibility to cross build Qt on a 64bit host for a 32bit target and vice versa.

Please look through the prerequisites before you start your work in order to make a definite step building your own Qt. Remark, this guidance here is only for your information. Any hints and comments you can read here are provided to help you to make your own steps with opensource software. There are many more possibilities to do the work. The below build process is only tested with Qt 4.7.4 on a windows 7 x64 host.

Even so this guide has been created some time ago it is still applicable for Qt4. Only a few adaptations are required concerning the references to MinGW compilers. This has been tested on 64 bit windows 7 system for Qt 4.8.4 source building Qt for 64 bit targets. MinGW version was 4.7.2.

Additional questions may be posted here.

  • 4Build Qt with MinGW for a x86 target
  • 5Build Qt with MinGW for a x64 (x86_64) target

Do I need to build Qt?

Perhaps not. The official Qt SDK installer will work just fine. Follow these steps only if you want to learn how to make a cutom build or if you aim a x64 target.

Required Toolchains

To build Qt on your own windows desktop pc there is no wizzard needed. The main thing you want check is to choose the right toolsets that are able to build Qt from bottom up. Since there are many packages to find on the web you have to manage what package is chosen with caution.

The following list will give an overview on the packages you need for your personal build of Qt opensource.

  • The Qt Opensource Source Package with all the sourcecode
  • a MinGW toolchain
  • or a MinGW64 toolchain
  • a Perl installation
  • a tool to replace text in the makefiles (for the install step only)
  • a mingw32-make replacement to use all the cpu cores for building
  • an application to unzip the tarfiles like 7zip.

To work with the newly created Qt you need also:

  • QtCreator 2.5 (or similiar, build process will be provided as well later)

Although the build processes are very similar, please note that the cmd.exe shell build environment is slightly different for the PATH variable to find the right compiler toolchain. However, these tools are needed for both the build processes, 32 and 64bit:

  • Qt source code from here
  • Active Perl from here. You need ActivePerl-5.14.2.1402-MSWin32-x64-295342.msi'. Any other perl might work too, this is the tested version.
  • jom.exe prebuilt from here.
  • fart.exe prebuilt from here. You need 'fart199b_win32.zip'.

This chapter describes on how to build the Qt opensource for a 32bit windows target.

Required toolchain

  • MinGW from the Qt SDK, this is shipped i.e. with the SDK Installer. The toolchain itself runs on 32bit and 64bit windows.
  • The SDK sourcecode used for this tutorial is Qt 4.7.4 (qt-everywhere-opensource-src-4.7.4.zip) and can be found here.

Filesystem setup

Prepare your filesystem for your own build process. There is a batchfile that can build everything automatically. As soon as there will be a place to download you will be noted.

Prepare a tree that contains the tools and the source trees (replace the c:with whatever drive you need). It is recommended not to expand your computers path environment with the tools. Everything will take place in a single cmd.exe windows shell that has a path that fits your needs.

For filesystem setup open windows explorer and create the following folders:

  • set the root to c:–4.7.4 copy the mingw contents of the sdk into c:–4.7.4mingw32_x86
  • unzip the contents of the qt tar into c:–4.7.4qt-everywhere-opensource-src-4.7.4
  • install or copy Perl into c:–4.7.4toolsPerl
  • copy jom.exe into c:–4.7.4toolsjom
  • copy fart.exe into c:–4.7.4toolsfart
  • create a build directory for Qt under c:–4.7.44.7.4-qt-x86-build
Qt Platform Plugin Windows Download
  • step into this build directory and create a file 'configure.cache' with the following content (you may want to change for your needs):

Configure your build tree

  • If you are using MinGW (32bit) toolchain : Open a cmd.exe windows shell, cd into c:–4.7.44.7.4-qt-x86-build and type:

set PATH=C:–4.7.4mingw32_x86bin;C:–4.7.4toolsPerl64bin;C:–4.7.4toolsjom;C:–4.7.4toolsfart;set PATH=PATH;c:32;set LANG=enc:–4.7.4qt-everywhere-opensource-src-4.7.4configure.exe -redo

  • If you are using MinGW-w64 (32bit) toolchain:
    • and, if you want to use Cmd-shell (cmd.exe windows shell), then cd into c:5_windows_32bit and type:

set PATH=C:-w6432bitbin;C:-perl64bitperlbin;C:_toolsjom;C:_toolsfart;set PATH=PATH;C:32;set LANG=enC:–4.7.4qt-everywhere-opensource-src-4.7.4configure.exe -redo

  • and, if you want to use MSYS2-shell, for 64bit (and 32bit) support based development, then follow this wiki page: MinGW-64-bit

After accepting the opensource license the configure command will then prepare qmake and the makefiles needed for the buildprocess.

Build Qt

Instead of mingw32-make we use jom. It is capable of distributing the work over a bunch of cpus being engaged by a Windows operating system. Type:jom /W /S -j4or other commandline parameters if they fit better for you. After that the build process of Qt starts and you want to have a coffee or two.

jom should finish with some warnings but without any error and you will have a pretty new build of the Qt Desktop library. Keep the shell open to make the next steps.

Installing the libraries.

Installing the newly built libs is not straightforward because there is no 'make install' way for the MinGW host. To install the Qt libraries and the tools of it there is some work to be done before.

All the makefiles have 'install' rules that install exactly to the folder that was used to build the whole library in. So installing into that folder doesn't make very much sense. All of the objectfiles still remain, and if you don't want to rebuild everything in the near future it is just a waste of diskspace. Installing for MinGW needs these install rules to be changed a bit.

For that purpose you copied the fart.exe tool to the tools folder. fart.exe can be used like sed to find and replace text in textfiles. In the already open cmd.exe shell where you built the libs in you want to type the following:

fart -c -i -r Makefile* $(INSTALL_ROOT)–4.7.44.7.4-qt-x86-build $(INSTALL_ROOT)–4.7.44.7.4-qt-x86set INSTALL_ROOT=

Please note that after INSTALL_ROOT= must not be any character, not even a blank.

This command will change$(INSTALL_ROOT)–4.7.44.7.4-qt-x86-buildinto$(INSTALL_ROOT)–4.7.44.7.4-qt-x86 in every makefile and will set the shell variable to an empty string. Someone also could remove the variable at all, but that's on your decision.

Qt platform plugin windows download

After this jom can make the installation into c:–4.7.44.7.4-qt-x86:jom /W /S -j4 install

Since it is late now, someone probably wants to have a beer or two and wait for the installation to complete. After this there are some steps to do manually:

copy C:–4.7.4mingw32_x86binmingwm10.dll C:–4.7.44.7.4-qt-x86bincopy C:–4.7.4mingw32_x86binlibgcc_s_dw2-1.dll C:–4.7.44.7.4-qt-x86bin

Create a config file that tells qmake about its new installation path. Create a textfile C:–4.7.44.7.4-qt-x86binqt.conf:[Paths]Prefix=C:/qt-4.7.4/4.7.4-qt-x86Translations = translations

For now there is a dazzling new installation of your personal Qt build that can be found on your harddisk under C:–4.7.44.7.4-qt-x86. Go ahead and delete the build directory if you don't need it any more. If you want to be able to debug into the Qt sourcecode you might want to keep the sourcetree alive.

This chapter describes on how to build the Qt opensource for a 64bit windows target.

Required toolchain

  • Information about the MinGW-w64 can be found on the wiki on MinGW and in this wiki page MinGW-64-bit. The recommended download site of MinGW-builds provides the different flavors of the compiler. Developers of MinGW-builds have moved onto its newer successor project, MSYS2, a complete opensource development solution/system, based on MinGW-w64 compilers/toolchains and MSYS. The MinGW-builds project is still supported.

Filesystem setup

Prepare your filesystem for your own build process. There is a batchfile that can build everything automatically. As soon as there will be a place to download you will be noted.

Prepare a tree that contains the tools and the source trees (replace the c:with whatever drive you need). It is recommended not to expand your computers path environment with the tools. Everything will take place in a single cmd.exe windows shell that has a path that fits your needs.

For filesystem setup open windows explorer and create the following folders:

  • set the root to c:–4.7.4 copy the mingw contents of the zip into c:–4.7.4mingw64_x64
  • unzip the contents of the qt tar into c:–4.7.4qt-everywhere-opensource-src-4.7.4
  • install or copy Perl into c:–4.7.4toolsPerl
  • copy jom.exe into c:–4.7.4toolsjom
  • copy fart.exe into c:–4.7.4toolsfart
  • create a build directory for Qt under c:–4.7.44.7.4-qt-x64-build
  • step into this build directory and create a file 'configure.cache' with the following content (you may want to change for your needs):

-platform win32-g++ -opensource-debug -debug-and-release-no-phonon-fast-nomake examples-nomake demos-no-dsp-no-vcproj-no-cetest-no-s60-qt-sql-odbc -qt-sql-sqlite -plugin-sql-odbc -plugin-sql-SQLite-no-qt3support -no-opengl -no-openvg -no-incredibuild-xge

Do not be irritated when looking at the win32-g++ makespec. This makespec is also capable of building 64bit Qt. The PATH shell variable does currently only contain the path to MinGW64. So there will be no confusion about the compilers:

Configure your build tree

  • Open a cmd.exe windows shell (Cmd-shell), cd into c:–4.7.44.7.4-qt-x64-build and type:

set PATH=C:–4.7.4mingw64_x64bin;C:–4.7.4toolsPerl64bin;C:–4.7.4toolsjom;C:–4.7.4toolsfart;set PATH=PATH;c:32;set LANG=enc:–4.7.4qt-everywhere-opensource-src-4.7.4configure.exe -redo

  • If you are using MinGW-w64 (64bit) toolchain:
    • and, if you want to use Cmd-shell (cmd.exe windows shell), then cd into c:5_windows_64bit and type:

set PATH=C:-w6464bitbin;C:-perl64bitperlbin;C:_toolsjom;C:_toolsfart;set PATH=PATH;C:32;set LANG=enC:–4.7.4qt-everywhere-opensource-src-4.7.4configure.exe -redo

  • and, if you want to use MSYS2-shell, for 64bit (and 32bit) support based development, then follow this wiki page: MinGW-64-bit

Qt Platform Download Free

After accepting the opensource license the configure command will then prepare qmake and the makefiles needed for the buildprocess.

Build Qt

Instead of mingw32-make we use jom. It is capable of distributing the work over a bunch of cpus being engaged by a Windows operating system. Type:jom /W /S -j4

or other commandline parameters if they fit better for you. After that the build process of Qt starts and you want to have a coffee or two.

jom should finish with some warnings but without any error and you will have a pretty new build of the Qt Desktop library. Keep the shell open to make the next steps.

Installing the libraries.

Installing the newly built libs is not straightforward because there is no 'make install' way for the MinGW host. To install the Qt libraries and the tools of it there is some work to be done before.

All the makefiles have 'install' rules that install exactly to the folder that was used to build the whole library in. So installing into that folder doesn't make very much sense. All of the objectfiles still remain, and if you don't want to rebuild everything in the near future it is just a waste of diskspace. Installing for MinGW needs these install rules to be changed a bit.

For that purpose you copied the fart.exe tool to the tools folder. fart.exe can be used like sed to find and replace text in textfiles. In the already open cmd.exe shell where you built the libs in you want to type the following:

fart -c -i -r Makefile* $(INSTALL_ROOT)–4.7.44.7.4-qt-x64-build $(INSTALL_ROOT)–4.7.44.7.4-qt-x64set INSTALL_ROOT=

Please note that after INSTALL_ROOT= must not be any character, not even a blank.

This command will change$(INSTALL_ROOT)–4.7.44.7.4-qt-x64-buildinto$(INSTALL_ROOT)–4.7.44.7.4-qt-x64in every makefile and will set the shell variable to an empty string. Someone also could remove the variable at all, but that's on your decision.

After this jom can make the installation into c:–4.7.44.7.4-qt-x64:jom /W /S -j4 install

Since it is late now, someone probably wants to have a beer or two and wait for the installation to complete. After this there are some steps to do manually:

copy C:–4.7.4mingw64_x64binlibgcc_s_sjlj-1.dll C:–4.7.44.7.4-qt-x64bin

The dual-target MinGW compiler adds an additional required dll to be copied. Following this guide step by step starting qmake will bring up an error message about missing libwinpthread-1.dll.

copy C:–4.7.4mingw64_x64binlibwinpthread-1.dll C:–4.7.44.7.4-qt-x64bin

Create a config file that tells qmake about its new installation path. Create a textfile C:–4.7.44.7.4-qt-x64binqt.conf:[Paths]Prefix=C:/qt-4.7.4/4.7.4-qt-x64Translations = translations

Qt Plugin Reinstall

For now there is a dazzling new installation of your personal Qt build that can be found on your harddisk under C:–4.7.44.7.4-qt-x64. Go ahead and delete the build directory if you don't need it any more. If you want to be able to debug into the Qt sourcecode you might want to keep the sourcetree alive.

Coming soon… You may visit this wiki page: MinGW-64-bit

Qt Platform Plugin Install

Retrieved from 'https://wiki.qt.io/index.php?title=Building_Qt_Desktop_for_Windows_with_MinGW&oldid=18201'