How To Setup a Windows Development Environment

  1. Download and install the following:
  2. Check that the following files are in the correct directories:
    • C:\Qt\x86_64-5.1.0-release-posix-seh-rt_v4-rev0\mingw64\bin\g++.exe
    • C:\Qt\qt-5.6.1-x64-mingw510r0-seh\bin\qmake.exe
  3. Start Qt Creator and choose Tools > Options > Build & Run
    Configure all of your settings in the Build & Run section.
    • Manually set the debugger to MinGW’s gdb.exe. Debug Settings
    • Manually set the compiler to MinGW’s g++.exe Compiler(2/2) Settings
    • Manually set the Qt version. Version Settings
    • Configure the project kit from the previously set debug, compiler, and Qt version. Kit Settings
  4. Extract the Shotcut SDK .zip file to a new folder in C:\ called “Projects” (C:\Projects).
  5. In Qt Creator open shotcut.pro from C:\Projects\Shotcut\src\shotcut.
  6. In the Shotcut project configuration screen find Run Settings.
    • Go to Deployment > Add Deploy Step > Make. In Make arguments, enter “install”
    • Go to Run > Add > Custom Executable.
      Set Executable to “C:\Projects\Shotcut\shotcut.exe” Run Settings
  7. Set your build settings in the Shotcut project configuration so that the build steps include MinGW make steps. Project
  8. After clicking Run, you can confirm the newly built executable is the one that is running from the About dialog: the version will be “adhoc”.

Final Project

Project Final

Rebuilding Dependencies

The section above just gets you a working environment for the Shotcut code, but not any of its dependencies. Some of the dependencies included in the SDK with source code can be opened and used within Qt Creator - frei0r and webvfx. Instructions for that are not yet included. In other cases you can use the Git Bash shell environment. Upon opening a Git Bash shell, enter (or add to ~/.profile and restart the shell):

export PATH="/c/Qt/x86_64-5.1.0-release-posix-seh-rt_v4-rev0/mingw64/bin:$PATH"
export QTDIR="c:/Qt/qt-5.6.1-x64-mingw510r0-seh"
export CC=gcc
export CXX=g++
export PKG_CONFIG_PATH="c:/Projects/Shotcut/lib/pkgconfig"
export CFLAGS="-Ic:/Projects/Shotcut/include -DHAVE_STRUCT_TIMESPEC"
export CXXFLAGS="$CFLAGS"
export LDFLAGS="-Lc:/Projects/Shotcut/lib -Lc:/Projects/Shotcut"
alias make=mingw32-make

For a project’s configure step, often you can supply the prefix as /c/Projects/Shotcut and make install will work as expected. However, sometimes you need to copy DLLs from bin/ or lib/ into /c/Projects/Shotcut where shotcut.exe resides.

When working with git repos from the SDK on Windows, it can helpful to issue git config core.fileMode false to prevent unchanged files from appearing in git status and git diff.

Command Line Debugging

When using gdb at the command line to debug, using Ctrl+C to break execution will also exit the debugger. There is a program called breakgdb.exe (source) that can be used to break execution.

Search

Subscribe

Subscribe to this blog via RSS.

Recent Posts

About

Shotcut is a free, open source, cross-platform video editor for Windows, Mac and Linux. Major features include support for a wide range of formats; no import required meaning native timeline editing; Blackmagic Design support for input and preview monitoring; and resolution support to 4k.

Social Links

Copyright © 2011-2016 by Meltytech, LLC.
Shotcut is a trademark of Meltytech, LLC.

Site design by Magnetic Image. Magnetic Image, Inc.