All following steps are to be done in a MinGW64 shell (notin a MSYS shell, which also getsinstalled by the MSYS2 installer) pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make pacman -S mingw-w64-x86_64-glm mingw-w64-x86_64-libsigc++ mingw-w64-x86_64-gtkmm3 mingw-w64-x86_64-yaml-cpp mingw-w64-x86_64-glew git config submodule.recurse true cd ~ git clone https://github.com/anthonix/ffts.git cd ~ cd ffts mkdir build cd build cmake -G"MinGW Makefiles" --enable-sse -DCMAKE_INSTALL_PREFIX=$MSYSTEM_PREFIX -DENABLE_SHARED=ON -DCMAKE_BUILD_TYPE=Release .. mingw32-make -j8 mingw32-make install ##################################### # For Release build Windows ##################################### cd ~ git clone https://github.com/azonenberg/scopehal-apps.git --recurse -submodules cd ~ cd scopehal-apps mkdir build cd build cmake -G"MinGW Makefiles" -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release .. mingw32-make -j8 cd ~ mkdir glscopeclient_build_release cd ./scopehal-apps/build cp C:/msys64/mingw64/bin/libstdc++-6.dll ~/glscopeclient_build_release/ cp ./src/glscopeclient/glscopeclient.exe ~/glscopeclient_build_release/ cp -r ../src/glscopeclient/gradients ~/glscopeclient_build_release/ cp -r ../src/glscopeclient/icons ~/glscopeclient_build_release/ cp -r ../src/glscopeclient/masks ~/glscopeclient_build_release/ cp -r ../src/glscopeclient/shaders ~/glscopeclient_build_release/ cp -r ../src/glscopeclient/styles ~/glscopeclient_build_release/ cp ./lib/graphwidget/libgraphwidget.dll ~/glscopeclient_build_release/ cp ./lib/log/liblog.dll ~/glscopeclient_build_release/ cp ./lib/scopehal/libscopehal.dll ~/glscopeclient_build_release/ cp ./lib/scopeprotocols/libscopeprotocols.dll ~/glscopeclient_build_release/ ##################################### # For Dev/Debug build Windows ##################################### cd ~ git clone https://github.com/azonenberg/scopehal-apps.git --recurse -submodules cd ~ cd scopehal-apps mkdir build cd build cmake -G"MinGW Makefiles" -DBUILD_TESTING=OFF .. mingw32-make -j8 cd ~ mkdir glscopeclient_build_debug cd ./scopehal-apps/build cp C:/msys64/mingw64/bin/libstdc++-6.dll ~/glscopeclient_build_debug/ cp ./src/glscopeclient/glscopeclient.exe ~/glscopeclient_build_debug/ cp -r ../src/glscopeclient/gradients ~/glscopeclient_build_debug/ cp -r ../src/glscopeclient/icons ~/glscopeclient_build_debug/ cp -r ../src/glscopeclient/masks ~/glscopeclient_build_debug/ cp -r ../src/glscopeclient/shaders ~/glscopeclient_build_debug/ cp -r ../src/glscopeclient/styles ~/glscopeclient_build_debug/ cp ./lib/graphwidget/libgraphwidget.dll ~/glscopeclient_build_debug/ cp ./lib/log/liblog.dll ~/glscopeclient_build_debug/ cp ./lib/scopehal/libscopehal.dll ~/glscopeclient_build_debug/ cp ./lib/scopeprotocols/libscopeprotocols.dll ~/glscopeclient_build_debug/ How to Debug scopeSession Debug workaround with gdb: cd ~ cd glscopeclient_build_release export OMP_WAIT_POLICY=PASSIVE winpty gdb ./glscopeclient.exe set args spi-compressed.scopesession run Ctrl-C How to Debug Rigol MSO5000 Ethernet Debug workaround with gdb: cd ~ cd glscopeclient_build_release export OMP_WAIT_POLICY=PASSIVE winpty gdb ./glscopeclient.exe set args --debug RigolMSO5k:rigol:lan:192.168.0.10:5555 run Ctrl-C In case of crash SIGSEGV cd ~ cd glscopeclient_build export OMP_WAIT_POLICY=PASSIVE winpty gdb ./glscopeclient.exe set args --debug RigolMSO5k:rigol:lan:192.168.0.10:5555 catch fork catch vfork set follow-fork-mode child run Ctrl-C where run glscopeclient --debug myscope:demo:null:null or just launch with no args and select the "demo" driver and null transport How to Debug Demo Debug workaround with gdb: cd ~ cd glscopeclient_build_release export OMP_WAIT_POLICY=PASSIVE winpty gdb ./glscopeclient.exe set args --debug myscope:demo:null:null catch throw catch catch catch fork catch vfork set follow-fork-mode child run Ctrl-C b TestWaveformSource.cpp:280 frame 1 print *p (gdb) print *p $1 = {offsets = 0x0, ws = 0x0, oe_ws = 0x0, eo_ws = 0x0, ee_ws = 0x0, is = 0x0, ws_is = 0x0, i0 = 0, i1 = 0, n_luts = 0, N = 131071, lastlut = 0x0, transform = 0x6a4c45ea , transform_base = 0x0, transform_size = 0, constants = 0x0, plans = 0xea61b70, rank = 1, Ns = 0x0, Ms = 0x0, buf = 0x12e1f780, transpose_buf = 0x0, destroy = 0x6a4c453c , A = 0x12e9f7e0, B = 0x12f1f840, i2 = 0} bt frame where thread apply all bt info locals info args print varname display/i $pc display /3i $pc print r14 layout asm => Crash gdb ??