2.1 KiB
Compilation on Windows
The preferred build method on Windows is by using MSYS2 which is a collection of packages providing unix-like tools to build native Windows software.
Requirements: about 12 GB of free space
The resulting binary is a 32-bit build of Retroshare which will also work fine on a 64-bit system.
MSYS2 INSTALLATION
Download MSYS2 from MSYS2. Get the i686 version if you run a 32-bit Windows or the x86_64 if you run a 64-bit Windows.
Run the installer and install MSYS2.
At the end of the installation, it'll automatically open an MSYS shell terminal. You can also find it on the start menu as MSYS2 MSYS. This is the shell you'll use to install packages with pacman and do maintenance but NOT to build RetroShare.
First, update your MSYS2 environment to the latest version by typing:
pacman -Syu
Close the terminal window.
Run MSYS2 MSYS again and finish updating with:
pacman -Su
Install the default programs needed to build:
pacman -S base-devel git wget p7zip gcc perl ruby python2
Install the 32-bit toolchain:
pacman -S mingw-w64-i686-toolchain
Install all needed dependencies:
pacman -S mingw-w64-i686-miniupnpc
pacman -S mingw-w64-i686-libmicrohttpd
pacman -S mingw-w64-i686-libxslt
pacman -S mingw-w64-i686-xapian-core
pacman -S mingw-w64-i686-sqlcipher
pacman -S mingw-w64-i686-qt5
We're done installing MSYS2, close the shell terminal.
BUILDING RETROSHARE
Now run the MSYS2 MinGW 32-bit shell terminal (it's in the start menu). We will use it to checkout Retroshare and build it:
git clone https://github.com/RetroShare/RetroShare.git
Go to the RetroShare directory and configure to your liking, for example:
cd RetroShare
qmake -r -Wall -spec win32-g++ "CONFIG+=debug" "CONFIG+=rs_autologin"
Now we're ready to build Retroshare. Use the '-j' option with the number of cores you have for a faster build, for instance if you have 4 cores:
mingw32-make -j4
Make sure your current Retroshare is not running. Then just run:
retroshare-gui/src/debug/retroshare.exe
You'll get debug output in the terminal and a running Retroshare instance.