FlexSEA Wiki


User Tools

Site Tools


Building Plan GUI


  • Qt 5.12
    • The version of GCC is limited by Qt's version of C/C++ libraries. If version 5.12.X of Qt is used, GCC/G++ 7.3 is the default used by Qt. If fx_plan_stack is compiled by a different version of GCC, build errors related to missing symbols will occur. See here.
    • Important: select “Qt Chart”


  1. Finish by installing Qt 5.12 from their website (MinGW 7.3 32-bits)

Changes to building previous versions

To make management of the code more straight forward, fx_plan_stack was restructured and some its sub modules were integrated directly into the directory. A consequence of this is that now only 1 library is built (fx_plan_stack) rather than 3. Accordingly:

  • The .pro files were modified to include the appropriate directories
  • Macros are defined only in the .pro file and fx_plan_stack (using a cmakefile called plan_definitions.cmake)
  • fx_plan_stack is no longer built using a .pro file. Rather you must build it before hand using a bash script (stackBuilder.sh)
  • Redundant copies of source files and libraries were removed
  • Includes of lower level libraries such as Serial and FlexSEA-Shared-Lib have been removed from the .pro files
  • Added Linux compatibility

How to build (Basic)

  1. From the root directory launch Qt by using the .pro file
  2. Build the app or version of the code you desire by using the hammer. Make sure it is the release version and that the correct compiler (Qt 5.12.2 Mingw32) is selected.
  3. Even if the build “fails”, look at the build directory in the release folder. If you see plan_3_0.exe, the build has succeeded. You will just need to copy it into a folder containing the appropriate DLLs. This can either be acquired from Dephy or gathered by hand. The DLLs can be found in the appropriate Qt compiler folder. Below is a list of DLLs and their path relative to the executable:
    • libEGL.dll
    • libgcc_s_dw2-1.dll
    • libGLESv2.dll
    • libstdc++-6.dll
    • libwinpthread-1.dll
    • Qt5Charts.dll
    • Qt5Core.dll
    • Qt5Gui.dll
    • Qt5Multimedia.dll
    • Qt5Network.dll
    • Qt5PrintSupport.dll
    • Qt5SerialPort.dll
    • Qt5WebSockets.dll
    • Qt5Widgets.dll
    • Qt5WinExtras.dll
    • Qt5Xml.dll
    • Qt5XmlPatterns.dll
    • platforms/qdirect2d.dll
    • platforms/qminimal.dll
    • platforms/qoffscreen.dll
    • platforms/qwebgl.dll
    • platforms/qwindows.dll

How to build (Fancy)

This section will discuss more advanced options.


Includes are done directly in the .pro files. These will change what parts of the source code is included and should match up with the flags used by fx_plan_stack. These definitions can be found in the plan_definitions.cmake file.

Automatically building plan stack

Qt offers you the option of including additional build steps. You can add the execution of stack_builder.sh as a build setup.


  1. Click Projects in Qt Creator
  2. Under Build & Run, select the appropriate configuration and click Build. The Build Settings screen will appear.
  3. Under Build Steps, click Add Build Step → Custom Process Step
  4. In the Custom Process Step, type C:\Program Files\Git\bin\sh.exe as the Command:
    1. Note: This executable may be located at C:\Program Files (x86)\Git\bin\sh.exe depending on where Git Bash is installed on your machine.
  5. Type -c “./stack_builder.sh” as the Arguments:
  6. Type the location of the the stack_builder.sh script as the Working directory:
    1. For example, C:\GitHub\plan_3_0\fx_plan_stack
  7. Move the Custom Process Step to the top of the Build Steps by clicking the Move Up arrow.


See the image below. Replace the Working directory: as necessary.

build_plan_gui.txt · Last modified: 2019/07/25 14:58 by jfduval