Home
Name Modified Size InfoDownloads / Week
claude-summary.txt 2026-08-07 908 Bytes
claude-website-summary.txt 2026-08-07 1.1 kB
build-wsjtx-menu.sh 2026-08-06 12.1 kB
README.md 2026-08-05 6.3 kB
Totals: 4 Items   20.4 kB 18

WSJT-X Development Environment

(a) Install MSYS2

  • Download and run the latest installer from https://www.msys2.org.
  • Install MSYS2 to its default location:

C:\msys64

  • Accept all default installation options.

(b) Install the Toolchain

Launch the MSYS2 MINGW64 shell.

Do not use the MSYS2 MSYS shell or the UCRT64 shell.

Update the MSYS2 environment:

pacman -Syuu

Note: You may need to repeat this command several times until no further updates are available.

  • Install the packages required to build WSJT-X and Hamlib with the following (concatenated) command:
pacman -S --needed \
  git make tar autoconf automake libtool \
  mingw-w64-x86_64-gcc \
  mingw-w64-x86_64-gcc-fortran \
  mingw-w64-x86_64-cmake \
  mingw-w64-x86_64-qt5-base \
  mingw-w64-x86_64-qt5-multimedia \
  mingw-w64-x86_64-qt5-serialport \
  mingw-w64-x86_64-qt5-svg \
  mingw-w64-x86_64-qt5-tools \
  mingw-w64-x86_64-qt5-websockets \
  mingw-w64-x86_64-qt5-activeqt \
  mingw-w64-x86_64-fftw \
  mingw-w64-x86_64-boost \
  mingw-w64-x86_64-libusb \
  mingw-w64-x86_64-portaudio \
  mingw-w64-x86_64-pkg-config \
  mingw-w64-x86_64-nsis \
  mingw-w64-x86_64-osslsigncode \
  mingw-w64-x86_64-ruby

Notes

  • If you encounter conflicts installing pkg-config, omit that package. Neither Hamlib nor WSJT-X requires it.
  • Should you have any difficulties installing any commands using this concatenated set - execute each package, one-by-one. An example command is shown below:
pacman -S mingw-w64-x86_64-gcc

(c) Update Ruby and Install AsciiDoctor

  • Install AsciiDoctor by executing the following command:
gem install asciidoctor --no-document

You may see a message similar to:

A new release of RubyGems is available: 4.0.16 → 4.0.17!
Run `gem update --system 4.0.17` to update your installation.

Run the recommended command, for example:

gem update --system 4.0.17

Alternatively, update to the latest RubyGems release with:

gem update --system

(d) Clone the WSJT-X Source

cd ~
git clone https://github.com/WSJTX/wsjtx.git

(e) Alias dumpcpp in MSYS2

MSYS2 ships Qt's dumpcpp tool as dumpcpp-qt5, while the WSJT-X build expects it to be named dumpcpp.

  • Create the required alias with the following command:
ln -sf /mingw64/bin/dumpcpp-qt5.exe /mingw64/bin/dumpcpp.exe

(f) Install OmniRig

WSJT-X can optionally use the legacy OmniRig environment for CAT control under Windows. This remains the preferred approach for many of the WSJT-X core developers working with EME (Moonbounce) and Meteor Scatter equipment.

C:\Program Files (x86)\Afreet\OmniRig\OmniRig.exe

(g) Build Hamlib

Important: WSJT-X is pinned to a specific Hamlib release. At the time of writing this is Version 4.7.2.

  • Enter the following commands:
git clone --depth 1 --branch 4.7.2 \
  https://github.com/Hamlib/Hamlib.git hamlib-src

cd hamlib-src

./bootstrap

./configure --prefix="$HOME/hamlib-prefix" \
  --enable-shared --disable-static \
  --without-cxx-binding --without-readline \
  CFLAGS="-DNDEBUG -g -O2 -fdata-sections -ffunction-sections" \
  LDFLAGS="-Wl,--gc-sections"

make -j$(nproc)

make install-strip

cd ..

Notes

  • When WSJT-X updates the pinned Hamlib version, change the --branch tag accordingly and rebuild Hamlib.
  • Any messages regarding a detached HEAD state are informational and can be safely ignored.

WSJT-X Build Steps

Configure and Build WSJT-X

  • Execute the following commands:
cd ~/wsjtx

OMNIRIG=$(cygpath "C:/Program Files (x86)/Afreet/OmniRig/OmniRig.exe")

cmake -G "MSYS Makefiles" -S . -B build \
  -DCMAKE_PREFIX_PATH="$HOME/hamlib-prefix" \
  -DCMAKE_INSTALL_PREFIX=C:/WSJT/wsjtx \
  -DOMNIRIG_TYPE_LIB="$OMNIRIG" \
  -DCMAKE_Fortran_FLAGS="-fallow-argument-mismatch -std=legacy" \
  -DCMAKE_POLICY_VERSION_MINIMUM=3.5 \
  -DWSJT_SKIP_MANPAGES=ON \
  -DWSJT_FORTRAN_LIBRARY_VARIANTS=OPENMP_ONLY \
  -Wno-author

cmake --build build -j$(nproc)

Notes

  • The generated binaries are written to the build/ directory, including:

    • wsjtx.exe`
    • jt9.exe`
    • supporting command-line utilities
  • It is normal to see numerous compiler warnings during the initial build. If appropriate, report any warnings to the WSJT-X developers at: wsjt-devel@...


WSJT-X Deployment

The build tree is not directly runnable.

The executables expect installed support files (such as ALLCALL7.TXT and cty.dat) to exist relative to the installed application, while the required Qt and Hamlib DLLs are also expected to be in their installed locations.

Installing places everything where WSJT-X expects it.

This method bypasses the Windows installer and is intended only for development and testing.

  • Execute the following command:
cmake --build build --target install

Notes

  • Files are installed into the location specified by CMAKE_INSTALL_PREFIX, for example:

text C:\WSJT\wsjtx

  • Because this bypasses the Windows Installer, it is not recommended except for development and testing.

(b) Build an Installer (Preferred)

The preferred deployment method is to build a standard Windows installer.

This integrates correctly with Windows application management and provides a clean installation and removal process.

  • Execute the following command:
cmake --build build --target package

Notes

  • The installer is written to the build/ directory as:

text wsjtx-<version>-win64.exe

It is generated using NSIS, which was installed as part of the MSYS2 toolchain.

  • The installer is unsigned. Windows SmartScreen may display a warning the first time it is run.
Source: README.md, updated 2026-08-05