This is the recommended way of building openvpn-gui on Windows, which is also used when doing OpenVPN Windows releases.
- Visual Studio 2022 (see below for details)
- CMake
- vcpkg (add the environment variable
VCPKG_ROOT
which points to vcpkg installation)
Having the Build Tools is enough, you do not need the actual IDE. In addition to the Microsoft.VisualStudio.Workload.VCTools workload, you might also need the following additional components dependending on which architectures you build for:
- Microsoft.VisualStudio.Component.VC.ATL.Spectre
- Microsoft.VisualStudio.Component.VC.ATLMFC.Spectre
- Microsoft.VisualStudio.Component.UWP.VC.ARM64
- Microsoft.VisualStudio.Component.VC.Tools.ARM64
- Microsoft.VisualStudio.Component.VC.ATL.ARM64.Spectre
- Microsoft.VisualStudio.Component.VC.MFC.ARM64.Spectre
- Microsoft.VisualStudio.Component.VC.Runtimes.ARM64.Spectre
- Microsoft.VisualStudio.Component.VC.Runtimes.x86.x64.Spectre
Run inside MSVC command prompt:
c:\Temp\openvpn-gui>cmake -S . --preset x64 c:\Temp\openvpn-gui>cmake --build --preset x64-release
To see all presets, run:
C:\Users\lev\Projects\openvpn-gui>cmake -S c:\Users\lev\Projects\openvpn-gui --list-presets Available configure presets: "x64" "arm64" "x86" "x64-ovpn3" "arm64-ovpn3" "x86-ovpn3"
You could also open CMake project from MSVC IDE and build from there.
Cygwin provides ports of many GNU/Linux tools and a POSIX API layer. This is the most complete way to get the GNU/Linux terminal feel under Windows. Cygwin has a setup that helps you install all the tools you need.
This document describes how to build openvpn-gui using Cygwin. It cross-compiles a native Windows executable, using the MinGW-w64 compilers that are available as packages in the Cygwin repository.
To build openvpn-gui you need to have these packages installed, including
their dependencies. You can install these packages using the standard
setup.exe
of Cygwin.
- autoconf
- automake
- pkg-config
- make
- mingw64-x86_64-gcc-core
To build use these commands:
autoreconf -iv
./configure --host=x86_64-w64-mingw32
make
The above describes how to build the 64-bit version of openvpn-gui. If you
want to build the 32-bit version, simply replace x86_64
with i686
.
Both 32-bit and 64-bit version of Cygwin can build the 32-bit and 64-bit
version of openvpn-gui.exe
. Just install the packages you need and use
the right --host
option.
Install MSYS2. Instructions and prerequisites can be found on the official website: https://msys2.github.io/
Once installed use the mingw64.exe
provided by MSYS2.
Update the base MSYS2 system until no further updates are available using:
pacman -Syu
You may have to restart your MINGW64 prompt between those updates.
Now install the required development packages:
pacman -S base-devel mingw-w64-x86_64-{toolchain}
You can build using these commands:
autoreconf -iv
./configure
make
The above describes how to build the 64-bit version of openvpn-gui.
If you want to build the 32-bit version, use the mingw32.exe
and in the package names simply replace x86_64
with i686
.