FlexSEA Wiki


User Tools

Site Tools


Building from Source


  • Git (version >= 1.47, we recommend using the latest stable version available on your platform)
  • Bash (Git bash works on Windows , just make sure it is the default to run .sh files)
  • CMake (version >= 3.13, can be either 32 or 64 bit version based on your system's architecture )
    • Get the latest version of CMake and add it to your path.
  • Ninja (version >= 1.3, can be either 32 or 64 bit version based on your system's architecture)
  • GCC 7.3


  1. Start by installing CMake
    • Note the install path, you will need to add it to the PATH later.
  2. Next install GCC. Get a mingw64 installer from source forge.
    • Use the following setting when installing mingw64 .
    • Note the installation path and navigate to it. Go into the mingw32 folder and then the bin folder. Note this path, you will need to add it to the PATH later. That path should look like this: C:\Program Files (x86)\mingw-w64\i686-7.3.0-posix-dwarf-rt_v5-rev2\mingw32\bin
  3. Next install ninja
    1. Get the latest release (We use 1.90) and download it
    2. Unzip the file
    3. Place it the folder containing the ninja executable to your program files directory on Windows or your /usr/bin/ directory on Linux
    4. Add it to your path, this allows you to access any executables (such as Ninja, CMake and GCC) from the command line
      1. On Windows this is done using the advanced setting in the environment variables
      2. Navigate to advanced settings and select environment variables
      3. Select the PATH variable in system variables
      4. Then add the paths from the previous installs

How to build the libraries

  1. From your gitBash console
  2. Start from a fresh version of Plan GUI
     git clone --recursive https://github.com/DephyInc/plan_3_0.git 
  3. Change directory to the cloned Plan GUI repo
     cd plan_3_0/ 
  4. Make sure all your submodules are up to date
     git submodule update --init --recursive 
  5. Change directory into fx_plan_stack and run stackBuilder.sh
     cd fx_plan_stack && ./stack_builder.sh && cd ..
  6. A successful build will print a message similar to
    [83/84] Linking CXX static library libs\libfx_plan_stack_static.a
    [84/84] Linking CXX shared library libs\libfx_plan_stack.dll

Test the library:

  1. First, make sure that Actuator-Package\Python\flexseapython\com.txt has the right COM port.
  2. Navigate to the Actuator-Package\Python folder.
python fxMain.py

How to cross-compile the libraries

To be succinct, this section will only cover the differences compilation and cross compilation. For more detailed instructions on compilation, read the previous section.

To cross compile, you will need to have installed and configured the appropriate cross-compiler. Here are the cross compilers for:

After installing these toolchains, the appropriate toolchain file must be used. This file specifies where the toolchain is located and other build settings. These can be found in the git repositories root directory and are specific to the target system.

Note: Make sure the paths in these files are correct.

To use the toolchain with an existing Cmake list, just add the DCMAKE_TOOLCHAIN_FILE flag.


There are also batch files (i.e. cross_compile_RPI.bat) that automate the build process.


  1. For Windows, for all CMake steps, add -G “MinGW Makefiles”. Instead of simply calling
    cmake ..


    cmake .. -G "MinGW Makefiles"
  2. If 'make' doesn't work try using 'mingw32-make.exe' instead.
  3. This repo includes an Eclipse .cproject file; you can use use that instead of CMake
build_fx_plan.txt · Last modified: 2019/05/06 19:34 by kandoni