Use consistent line ending character LF

Chocobo1 2024-05-01 17:15:52 +08:00
parent de154770ca
commit cd05ba0e3d
No known key found for this signature in database
GPG key ID: 210D9C873253A68C

@ -1,263 +1,263 @@
This page describes how to compile qBittorrent for both x86 and x64 platforms using Microsoft Visual C++ 2013 under Windows. This page describes how to compile qBittorrent for both x86 and x64 platforms using Microsoft Visual C++ 2013 under Windows.
# Table of Contents # # Table of Contents #
* [Requirements](#requirements) * [Requirements](#requirements)
* [Preparation](#preparation) * [Preparation](#preparation)
* [Compiling zlib](#compiling-zlib) * [Compiling zlib](#compiling-zlib)
* [Compiling OpenSSL](#compiling-openssl) * [Compiling OpenSSL](#compiling-openssl)
* [Compiling Boost](#compiling-boost) * [Compiling Boost](#compiling-boost)
* [Compiling libtorrent](#compiling-libtorrent) * [Compiling libtorrent](#compiling-libtorrent)
* [Compiling Qt4](#compiling-qt4) * [Compiling Qt4](#compiling-qt4)
* [Configuring Qt Creator](#configuring-qt-creator) * [Configuring Qt Creator](#configuring-qt-creator)
* [Compiling qBittorrent](#compiling-qbittorrent) * [Compiling qBittorrent](#compiling-qbittorrent)
*** ***
# Requirements # # Requirements #
* The Microsoft Visual C++ 2013 compiler. * The Microsoft Visual C++ 2013 compiler.
* A [Perl language](http://www.perl.org/) interpreter. [Strawberry Perl](http://strawberryperl.com/) or [ActivePerl](http://www.activestate.com/activeperl/downloads) can be used. Download Strawberry Perl 5.20.1.1 [here](http://strawberryperl.com/download/5.20.1.1/strawberry-perl-5.20.1.1-32bit.msi). * A [Perl language](http://www.perl.org/) interpreter. [Strawberry Perl](http://strawberryperl.com/) or [ActivePerl](http://www.activestate.com/activeperl/downloads) can be used. Download Strawberry Perl 5.20.1.1 [here](http://strawberryperl.com/download/5.20.1.1/strawberry-perl-5.20.1.1-32bit.msi).
* Latest release of the [NASM assembler](http://www.nasm.us/). Download version 2.11.05 [here](http://www.nasm.us/pub/nasm/releasebuilds/2.11.05/win32/nasm-2.11.05-win32.zip). * Latest release of the [NASM assembler](http://www.nasm.us/). Download version 2.11.05 [here](http://www.nasm.us/pub/nasm/releasebuilds/2.11.05/win32/nasm-2.11.05-win32.zip).
* Latest release of [zlib](http://www.zlib.net/). Download version 1.2.8 [here](http://zlib.net/zlib128.zip). * Latest release of [zlib](http://www.zlib.net/). Download version 1.2.8 [here](http://zlib.net/zlib128.zip).
* Latest release of [OpenSSL](http://www.openssl.org/). Download version 1.0.1i [here](https://www.openssl.org/source/openssl-1.0.1i.tar.gz). * Latest release of [OpenSSL](http://www.openssl.org/). Download version 1.0.1i [here](https://www.openssl.org/source/openssl-1.0.1i.tar.gz).
* Latest release of the [Boost libraries](http://www.boost.org/). Download version 1.56.0 [here](http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.7z/download). * Latest release of the [Boost libraries](http://www.boost.org/). Download version 1.56.0 [here](http://sourceforge.net/projects/boost/files/boost/1.56.0/boost_1_56_0.7z/download).
* Latest release of [libtorrent-rasterbar](http://www.libtorrent.org/). Download version 0.16.17 [here](http://sourceforge.net/projects/libtorrent/files/libtorrent/libtorrent-rasterbar-0.16.17.tar.gz/download). * Latest release of [libtorrent-rasterbar](http://www.libtorrent.org/). Download version 0.16.17 [here](http://sourceforge.net/projects/libtorrent/files/libtorrent/libtorrent-rasterbar-0.16.17.tar.gz/download).
* Latest release of the [Qt4 source](http://qt-project.org/). Download version 4.8.6 [here](http://download.qt-project.org/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip). * Latest release of the [Qt4 source](http://qt-project.org/). Download version 4.8.6 [here](http://download.qt-project.org/archive/qt/4.8/4.8.6/qt-everywhere-opensource-src-4.8.6.zip).
* Latest release of [Qt Creator](http://qt-project.org/wiki/category:Tools::QtCreator). Download version 3.2.1 [here](http://download.qt-project.org/official_releases/qtcreator/3.2/3.2.1/qt-creator-opensource-windows-x86-3.2.1.exe). * Latest release of [Qt Creator](http://qt-project.org/wiki/category:Tools::QtCreator). Download version 3.2.1 [here](http://download.qt-project.org/official_releases/qtcreator/3.2/3.2.1/qt-creator-opensource-windows-x86-3.2.1.exe).
* Latest release of [qBittorrent](http://www.qbittorrent.org). Download version 3.1.10 [here](http://sourceforge.net/projects/qbittorrent/qbittorrent/qbittorrent-3.1.10/qbittorrent-3.1.10.tar.gz/download). * Latest release of [qBittorrent](http://www.qbittorrent.org). Download version 3.1.10 [here](http://sourceforge.net/projects/qbittorrent/qbittorrent/qbittorrent-3.1.10/qbittorrent-3.1.10.tar.gz/download).
Let's assume that the working directory(ies) for our compilation will be: Let's assume that the working directory(ies) for our compilation will be:
* For **x86**: ```C:\qBittorrent``` * For **x86**: ```C:\qBittorrent```
* For **x64**: ```C:\qBittorrent64``` * For **x64**: ```C:\qBittorrent64```
# Preparation # # Preparation #
* Install **Perl**. * Install **Perl**.
* Install **Qt Creator**. * Install **Qt Creator**.
* Extract **NASM** inside our working dir, eg.: * Extract **NASM** inside our working dir, eg.:
* For **x86**: ```C:\qBittorrent\nasm``` * For **x86**: ```C:\qBittorrent\nasm```
# Compiling zlib # # Compiling zlib #
* Extract the **zlib** source inside our working dir(s). * Extract the **zlib** source inside our working dir(s).
* Rename the resulting dir(s) from ```zlib-x.x.x``` to just ```zlib```. * Rename the resulting dir(s) from ```zlib-x.x.x``` to just ```zlib```.
* Open the **MSVC2013 command shell**: * Open the **MSVC2013 command shell**:
* For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt``` * For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt```
* For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt``` * For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt```
* Navigate to the **zlib** source folder: * Navigate to the **zlib** source folder:
* For **x86**: ```pushd C:\qBittorrent\zlib``` * For **x86**: ```pushd C:\qBittorrent\zlib```
* For **x64**: ```pushd C:\qBittorrent64\zlib``` * For **x64**: ```pushd C:\qBittorrent64\zlib```
* Edit the ```win32\Makefile.msc``` file. * Edit the ```win32\Makefile.msc``` file.
* Find the line starting with ```CFLAGS``` * Find the line starting with ```CFLAGS```
* Replace ```-MD``` with ```-GL -MT -Zc:wchar_t-``` * Replace ```-MD``` with ```-GL -MT -Zc:wchar_t-```
* Find the line starting with ```LDFLAGS``` * Find the line starting with ```LDFLAGS```
* Replace ```-debug``` with ```-opt:icf -dynamicbase -nxcompat -ltcg /nodefaultlib:msvcrt``` * Replace ```-debug``` with ```-opt:icf -dynamicbase -nxcompat -ltcg /nodefaultlib:msvcrt```
* Issue the following commands: * Issue the following commands:
* For **x86**: * For **x86**:
``` ```
nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffas32.obj match686.obj" nmake -f win32/Makefile.msc LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffas32.obj match686.obj"
``` ```
* For **x64**: * For **x64**:
``` ```
nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj" nmake -f win32/Makefile.msc AS=ml64 LOC="-DASMV -DASMINF -DNDEBUG -I." OBJA="inffasx64.obj gvmat64.obj inffas8664.obj"
``` ```
* Copy **zlib.h**, **zconf.h**, **zlib.lib**, **zlib.pdb** to our install dir. * Copy **zlib.h**, **zconf.h**, **zlib.lib**, **zlib.pdb** to our install dir.
* For **x86**: * For **x86**:
``` ```
xcopy zlib.h C:\qBittorrent\install\include\ xcopy zlib.h C:\qBittorrent\install\include\
xcopy zconf.h C:\qBittorrent\install\include\ xcopy zconf.h C:\qBittorrent\install\include\
xcopy zlib.lib C:\qBittorrent\install\lib\ xcopy zlib.lib C:\qBittorrent\install\lib\
xcopy zlib.pdb C:\qBittorrent\install\lib\ xcopy zlib.pdb C:\qBittorrent\install\lib\
``` ```
* For **x64**: * For **x64**:
``` ```
xcopy zlib.h C:\qBittorrent64\install\include\ xcopy zlib.h C:\qBittorrent64\install\include\
xcopy zconf.h C:\qBittorrent64\install\include\ xcopy zconf.h C:\qBittorrent64\install\include\
xcopy zlib.lib C:\qBittorrent64\install\lib\ xcopy zlib.lib C:\qBittorrent64\install\lib\
xcopy zlib.pdb C:\qBittorrent64\install\lib\ xcopy zlib.pdb C:\qBittorrent64\install\lib\
``` ```
# Compiling OpenSSL # # Compiling OpenSSL #
* Make sure you have installed **Perl** and **NASM** (for **x86**). * Make sure you have installed **Perl** and **NASM** (for **x86**).
* Extract the **OpenSSL** source inside our working dir(s). * Extract the **OpenSSL** source inside our working dir(s).
* Rename the resulting dir(s) from ```openssl-x.x.x``` to just ```openssl```. * Rename the resulting dir(s) from ```openssl-x.x.x``` to just ```openssl```.
* Open the **MSVC2013 command shell**: * Open the **MSVC2013 command shell**:
* For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt``` * For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt```
* For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt``` * For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt```
* Navigate to the **OpenSSL** source folder: * Navigate to the **OpenSSL** source folder:
* For **x86**: ```pushd C:\qBittorrent\openssl``` * For **x86**: ```pushd C:\qBittorrent\openssl```
* For **x64**: ```pushd C:\qBittorrent64\openssl``` * For **x64**: ```pushd C:\qBittorrent64\openssl```
* Now we will build a static version of **OpenSSL**. Issue the following commands: * Now we will build a static version of **OpenSSL**. Issue the following commands:
* For **x86**: * For **x86**:
``` ```
set "PATH=%PATH%;C:\qBittorrent\nasm" set "PATH=%PATH%;C:\qBittorrent\nasm"
perl Configure VC-WIN32 no-shared zlib no-zlib-dynamic threads --prefix=C:\qBittorrent\install -IC:\qBittorrent\install\include -LC:\qBittorrent\install\lib perl Configure VC-WIN32 no-shared zlib no-zlib-dynamic threads --prefix=C:\qBittorrent\install -IC:\qBittorrent\install\include -LC:\qBittorrent\install\lib
ms\do_nasm ms\do_nasm
``` ```
* For **x64**: * For **x64**:
``` ```
perl Configure VC-WIN64A no-shared zlib no-zlib-dynamic threads --prefix=C:\qBittorrent64\install -IC:\qBittorrent64\install\include -LC:\qBittorrent64\install\lib perl Configure VC-WIN64A no-shared zlib no-zlib-dynamic threads --prefix=C:\qBittorrent64\install -IC:\qBittorrent64\install\include -LC:\qBittorrent64\install\lib
ms\do_win64a.bat ms\do_win64a.bat
``` ```
* Edit the ```ms\nt.mak``` file: * Edit the ```ms\nt.mak``` file:
* Find the line that starts with: ```EX_LIBS``` * Find the line that starts with: ```EX_LIBS```
* Replace ```zlib1.lib``` with ```zlib.lib``` * Replace ```zlib1.lib``` with ```zlib.lib```
* Find the line that starts with: ```CFLAG``` * Find the line that starts with: ```CFLAG```
* Append: ```/Zc:wchar_t- /GL /Zi``` * Append: ```/Zc:wchar_t- /GL /Zi```
* Find the line that starts with: ```LFLAGS``` * Find the line that starts with: ```LFLAGS```
* Replace ```/debug``` with ```/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt``` * Replace ```/debug``` with ```/incremental:no /opt:icf /dynamicbase /nxcompat /ltcg /nodefaultlib:msvcrt```
* Then issue the following: * Then issue the following:
``` ```
nmake -f ms\nt.mak nmake -f ms\nt.mak
nmake -f ms\nt.mak install nmake -f ms\nt.mak install
``` ```
# Compiling Boost # # Compiling Boost #
* Extract the **Boost** sources in the working dir(s). * Extract the **Boost** sources in the working dir(s).
* Rename the resulting dir(s) from ```boost_x_x_x``` to just ```boost```. * Rename the resulting dir(s) from ```boost_x_x_x``` to just ```boost```.
* Open the **MSVC2013 command shell**: * Open the **MSVC2013 command shell**:
* For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt``` * For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt```
* For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt``` * For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt```
* Navigate to the **Boost** source folder: * Navigate to the **Boost** source folder:
* For **x86**: ```pushd C:\qBittorrent\boost``` * For **x86**: ```pushd C:\qBittorrent\boost```
* For **x64**: ```pushd C:\qBittorrent64\boost``` * For **x64**: ```pushd C:\qBittorrent64\boost```
* Now you will need to bootstrap **Boost** so it will build ```b2.exe```. Issue the following command: ```bootstrap.bat vc12``` * Now you will need to bootstrap **Boost** so it will build ```b2.exe```. Issue the following command: ```bootstrap.bat vc12```
* Compile a static version of **Boost**. Issue the following command (if you want to set how many threads b2 uses when compiling, add ```-j N``` to the end of the command, where ```N``` is the number of threads; the ```toolset``` parameter is needed for the correct choice of ```msvc-12.0``` if other versions are installed): * Compile a static version of **Boost**. Issue the following command (if you want to set how many threads b2 uses when compiling, add ```-j N``` to the end of the command, where ```N``` is the number of threads; the ```toolset``` parameter is needed for the correct choice of ```msvc-12.0``` if other versions are installed):
* For **x86**: * For **x86**:
``` ```
b2 -q --with-system --toolset=msvc-12.0 variant=release link=static runtime-link=static debug-symbols=off warnings=off warnings-as-errors=off b2 -q --with-system --toolset=msvc-12.0 variant=release link=static runtime-link=static debug-symbols=off warnings=off warnings-as-errors=off
``` ```
* For **x64**: * For **x64**:
``` ```
b2 -q --with-system --toolset=msvc-12.0 variant=release link=static runtime-link=static debug-symbols=off warnings=off warnings-as-errors=off architecture=x86 address-model=64 b2 -q --with-system --toolset=msvc-12.0 variant=release link=static runtime-link=static debug-symbols=off warnings=off warnings-as-errors=off architecture=x86 address-model=64
``` ```
# Compiling libtorrent # # Compiling libtorrent #
* Extract the **libtorrent** sources in the working dir(s). * Extract the **libtorrent** sources in the working dir(s).
* Rename the resulting dir(s) from ```libtorrent-rasterbar-x.x.x``` to just ```libtorrent```. * Rename the resulting dir(s) from ```libtorrent-rasterbar-x.x.x``` to just ```libtorrent```.
* Open the **MSVC2013 command shell**: * Open the **MSVC2013 command shell**:
* For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt``` * For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt```
* For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt``` * For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt```
* Navigate to the **libtorrent** source folder: * Navigate to the **libtorrent** source folder:
* For **x86**: ```pushd C:\qBittorrent\libtorrent``` * For **x86**: ```pushd C:\qBittorrent\libtorrent```
* For **x64**: ```pushd C:\qBittorrent64\libtorrent``` * For **x64**: ```pushd C:\qBittorrent64\libtorrent```
* Compile a static version of **libtorrent**. Issue the following command (if you want to set how many threads b2 uses when compiling, add ```-j N``` to the end of the command, where ```N``` is the number of threads): * Compile a static version of **libtorrent**. Issue the following command (if you want to set how many threads b2 uses when compiling, add ```-j N``` to the end of the command, where ```N``` is the number of threads):
* For **x86**: * For **x86**:
``` ```
..\boost\b2 -q --prefix="stage" --without-python --toolset=msvc-12.0 variant=release link=static runtime-link=static encryption=openssl logging=none geoip=static dht-support=on boost=source character-set=unicode boost-link=static -sBOOST_ROOT="C:\qBittorrent\boost" include="C:\qBittorrent\install\include" library-path="C:\qBittorrent\install\lib" install ..\boost\b2 -q --prefix="stage" --without-python --toolset=msvc-12.0 variant=release link=static runtime-link=static encryption=openssl logging=none geoip=static dht-support=on boost=source character-set=unicode boost-link=static -sBOOST_ROOT="C:\qBittorrent\boost" include="C:\qBittorrent\install\include" library-path="C:\qBittorrent\install\lib" install
``` ```
* For **x64**: * For **x64**:
``` ```
..\boost\b2 -q --prefix="stage" --without-python --toolset=msvc-12.0 variant=release link=static runtime-link=static encryption=openssl logging=none geoip=static dht-support=on boost=source character-set=unicode boost-link=static -sBOOST_ROOT="C:\qBittorrent64\boost" include="C:\qBittorrent64\install\include" library-path="C:\qBittorrent64\install\lib" architecture=x86 address-model=64 install ..\boost\b2 -q --prefix="stage" --without-python --toolset=msvc-12.0 variant=release link=static runtime-link=static encryption=openssl logging=none geoip=static dht-support=on boost=source character-set=unicode boost-link=static -sBOOST_ROOT="C:\qBittorrent64\boost" include="C:\qBittorrent64\install\include" library-path="C:\qBittorrent64\install\lib" architecture=x86 address-model=64 install
``` ```
* Note: When you use **libtorrent-rasterbar-1.0.4**: * Note: When you use **libtorrent-rasterbar-1.0.4**:
change ```dht-support=on``` to ```dht=on``` change ```dht-support=on``` to ```dht=on```
see [libtorrent manual](http://www.libtorrent.org/building.html) see [libtorrent manual](http://www.libtorrent.org/building.html)
# Compiling Qt4 # # Compiling Qt4 #
* Extract the **Qt4** sources in the working dir(s). * Extract the **Qt4** sources in the working dir(s).
* Rename the resulting dir(s) from ```qt-everywhere-opensource-src-x.x.x``` to just ```qt4```. * Rename the resulting dir(s) from ```qt-everywhere-opensource-src-x.x.x``` to just ```qt4```.
* Open the **MSVC2013 command shell**: * Open the **MSVC2013 command shell**:
* For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt``` * For **x86**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x86 Native Tools Command Prompt```
* For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt``` * For **x64**: ```Start->Programs->Visual Studio 2013->Visual Studio Tools->VS2013 x64 Native Tools Command Prompt```
* Navigate to the Qt4 source folder: * Navigate to the Qt4 source folder:
* For **x86**: ```pushd C:\qBittorrent\qt4``` * For **x86**: ```pushd C:\qBittorrent\qt4```
* For **x64**: ```pushd C:\qBittorrent64\qt4``` * For **x64**: ```pushd C:\qBittorrent64\qt4```
* Now we will build a static version of **Qt4** with making as small as possible. * Now we will build a static version of **Qt4** with making as small as possible.
* Open ```mkspecs\win32-msvc2013\qmake.conf``` and replace the * Open ```mkspecs\win32-msvc2013\qmake.conf``` and replace the
* Find the line that starts with: ```QMAKE_CFLAGS_RELEASE``` * Find the line that starts with: ```QMAKE_CFLAGS_RELEASE```
* Replace ```-MD``` with ```-GL -MT``` * Replace ```-MD``` with ```-GL -MT```
* Find the line that starts with: ```QMAKE_LFLAGS``` * Find the line that starts with: ```QMAKE_LFLAGS```
* Replace ```/NXCOMPAT``` with ```/NXCOMPAT /LTCG``` * Replace ```/NXCOMPAT``` with ```/NXCOMPAT /LTCG```
* Find the line that starts with: ```QMAKE_LFLAGS_RELEASE``` * Find the line that starts with: ```QMAKE_LFLAGS_RELEASE```
* Replace ```/INCREMENTAL:NO``` with ```/INCREMENTAL:NO /NODEFAULTLIB:MSVCRT``` * Replace ```/INCREMENTAL:NO``` with ```/INCREMENTAL:NO /NODEFAULTLIB:MSVCRT```
* Open ```src\3rdparty\zlib_dependency.pri``` **and** ```src\tools\bootstrap\bootstrap.pri``` * Open ```src\3rdparty\zlib_dependency.pri``` **and** ```src\tools\bootstrap\bootstrap.pri```
* Replace ```zdll.lib``` with ```zlib.lib``` * Replace ```zdll.lib``` with ```zlib.lib```
* Issue the following commands: * Issue the following commands:
* For **x86**: * For **x86**:
``` ```
configure.exe -release -opensource -confirm-license -static -ltcg -fast -system-zlib -no-qt3support -no-opengl -no-openvg -no-dsp -no-vcproj -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -mp -arch windows -qt-style-windowsxp -nomake examples -nomake demos -platform win32-msvc2013 -openssl-linked -largefile -I "C:\qBittorrent\install\include" -L "C:\qBittorrent\install\lib" configure.exe -release -opensource -confirm-license -static -ltcg -fast -system-zlib -no-qt3support -no-opengl -no-openvg -no-dsp -no-vcproj -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -mp -arch windows -qt-style-windowsxp -nomake examples -nomake demos -platform win32-msvc2013 -openssl-linked -largefile -I "C:\qBittorrent\install\include" -L "C:\qBittorrent\install\lib"
bin\qmake.exe projects.pro QT_BUILD_PARTS="libs translations" bin\qmake.exe projects.pro QT_BUILD_PARTS="libs translations"
nmake nmake
``` ```
* For **x64**: * For **x64**:
``` ```
configure.exe -release -opensource -confirm-license -static -ltcg -fast -system-zlib -no-qt3support -no-opengl -no-openvg -no-dsp -no-vcproj -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -mp -arch windows -qt-style-windowsxp -nomake examples -nomake demos -platform win32-msvc2013 -openssl-linked -largefile -I "C:\qBittorrent64\install\include" -L "C:\qBittorrent64\install\lib" configure.exe -release -opensource -confirm-license -static -ltcg -fast -system-zlib -no-qt3support -no-opengl -no-openvg -no-dsp -no-vcproj -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -mp -arch windows -qt-style-windowsxp -nomake examples -nomake demos -platform win32-msvc2013 -openssl-linked -largefile -I "C:\qBittorrent64\install\include" -L "C:\qBittorrent64\install\lib"
bin\qmake.exe projects.pro QT_BUILD_PARTS="libs translations" bin\qmake.exe projects.pro QT_BUILD_PARTS="libs translations"
nmake nmake
``` ```
* You can close the command prompt now. * You can close the command prompt now.
# Configuring Qt Creator # # Configuring Qt Creator #
* Launch **Qt Creator** and select ```Tools->Options...``` * Launch **Qt Creator** and select ```Tools->Options...```
* Select the ```Build & Run``` item from the left and select the ```Qt Versions``` tab. * Select the ```Build & Run``` item from the left and select the ```Qt Versions``` tab.
* For **x86**: * For **x86**:
* Click the ```Add...``` button and select ```qmake.exe```. It should be in: ```C:\qBittorrent\qt4\bin\qmake.exe``` * Click the ```Add...``` button and select ```qmake.exe```. It should be in: ```C:\qBittorrent\qt4\bin\qmake.exe```
* Name it something meaningful like ```Qt4 - MSVC2013 (x86)``` * Name it something meaningful like ```Qt4 - MSVC2013 (x86)```
* For **x64**: * For **x64**:
* Click the ```Add...``` button and select ```qmake.exe```. It should be in: ```C:\qBittorrent64\qt4\bin\qmake.exe``` * Click the ```Add...``` button and select ```qmake.exe```. It should be in: ```C:\qBittorrent64\qt4\bin\qmake.exe```
* Name it something meaningful like ```Qt4 - MSVC2013 (x64)``` * Name it something meaningful like ```Qt4 - MSVC2013 (x64)```
* Still in the ```Build & Run``` item, select the ```Kits``` tab. * Still in the ```Build & Run``` item, select the ```Kits``` tab.
* For **x86**: * For **x86**:
* Click the ```Add...``` button and name it ```x86``` * Click the ```Add...``` button and name it ```x86```
* In ```Compiler``` select ```Microsoft Visual C++ Compiler 12.0 (x86)``` * In ```Compiler``` select ```Microsoft Visual C++ Compiler 12.0 (x86)```
* In ```Qt version``` select ```Qt4 - MSVC2013 (x86)``` * In ```Qt version``` select ```Qt4 - MSVC2013 (x86)```
* For **x64**: * For **x64**:
* Click the ```Add...``` button and name it ```x64``` * Click the ```Add...``` button and name it ```x64```
* In ```Compiler``` select ```Microsoft Visual C++ Compiler 12.0 (amd64)``` * In ```Compiler``` select ```Microsoft Visual C++ Compiler 12.0 (amd64)```
* In ```Qt version``` select ```Qt4 - MSVC2013 (x64)``` * In ```Qt version``` select ```Qt4 - MSVC2013 (x64)```
# Compiling qBittorrent # # Compiling qBittorrent #
* Extract the **qBittorrent** sources in the working dir(s). * Extract the **qBittorrent** sources in the working dir(s).
* Go to [Maxmind](http://www.maxmind.com) and download the [GeoLite Country database](http://dev.maxmind.com/geoip/legacy/geolite/) in binary format. Here is the [link](http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz). Extract the ```GeoIP.dat``` file to: ```src\gui\geoip``` * Go to [Maxmind](http://www.maxmind.com) and download the [GeoLite Country database](http://dev.maxmind.com/geoip/legacy/geolite/) in binary format. Here is the [link](http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz). Extract the ```GeoIP.dat``` file to: ```src\gui\geoip```
* Open the ```winconf.pri``` file, edit and adjust the paths: * Open the ```winconf.pri``` file, edit and adjust the paths:
* For **both**: * For **both**:
* Replace ```_WIN32_WINNT=0x0500``` with ```_WIN32_WINNT=0x0501``` * Replace ```_WIN32_WINNT=0x0500``` with ```_WIN32_WINNT=0x0501```
* For **x86**: * For **x86**:
* Replace ```C:/qBittorrent/boost_1_51_0``` with ```C:/qBittorrent/boost``` * Replace ```C:/qBittorrent/boost_1_51_0``` with ```C:/qBittorrent/boost```
* Replace ```C:/qBittorrent/RC_0_16/include``` with ```C:/qBittorrent/libtorrent/include``` * Replace ```C:/qBittorrent/RC_0_16/include``` with ```C:/qBittorrent/libtorrent/include```
* Replace ```C:/qBittorrent/Zlib/include``` with ```C:/qBittorrent/install/include``` * Replace ```C:/qBittorrent/Zlib/include``` with ```C:/qBittorrent/install/include```
* Replace ```C:/qBittorrent/boost_1_51_0/stage/lib``` with ```C:/qBittorrent/boost/stage/lib``` * Replace ```C:/qBittorrent/boost_1_51_0/stage/lib``` with ```C:/qBittorrent/boost/stage/lib```
* Replace ```C:/qBittorrent/RC_0_16/bin/<path-according-to-the-build-options-chosen>``` with ```C:/qBittorrent/libtorrent/stage/lib``` * Replace ```C:/qBittorrent/RC_0_16/bin/<path-according-to-the-build-options-chosen>``` with ```C:/qBittorrent/libtorrent/stage/lib```
* Replace ```C:/qBittorrent/Zlib/lib``` with ```C:/qBittorrent/install/lib``` * Replace ```C:/qBittorrent/Zlib/lib``` with ```C:/qBittorrent/install/lib```
* For **x64**: * For **x64**:
* Replace ```C:/qBittorrent/boost_1_51_0``` with ```C:/qBittorrent64/boost``` * Replace ```C:/qBittorrent/boost_1_51_0``` with ```C:/qBittorrent64/boost```
* Replace ```C:/qBittorrent/RC_0_16/include``` with ```C:/qBittorrent64/libtorrent/include``` * Replace ```C:/qBittorrent/RC_0_16/include``` with ```C:/qBittorrent64/libtorrent/include```
* Replace ```C:/qBittorrent/Zlib/include``` with ```C:/qBittorrent64/install/include``` * Replace ```C:/qBittorrent/Zlib/include``` with ```C:/qBittorrent64/install/include```
* Replace ```C:/qBittorrent/boost_1_51_0/stage/lib``` with ```C:/qBittorrent64/boost/stage/lib``` * Replace ```C:/qBittorrent/boost_1_51_0/stage/lib``` with ```C:/qBittorrent64/boost/stage/lib```
* Replace ```C:/qBittorrent/RC_0_16/bin/<path-according-to-the-build-options-chosen>``` with ```C:/qBittorrent64/libtorrent/stage/lib``` * Replace ```C:/qBittorrent/RC_0_16/bin/<path-according-to-the-build-options-chosen>``` with ```C:/qBittorrent64/libtorrent/stage/lib```
* Replace ```C:/qBittorrent/Zlib/lib``` with ```C:/qBittorrent64/install/lib``` * Replace ```C:/qBittorrent/Zlib/lib``` with ```C:/qBittorrent64/install/lib```
* Open the ```winconf-msvc.pri``` file and adjust the filename of the lib of Boost: * Open the ```winconf-msvc.pri``` file and adjust the filename of the lib of Boost:
* Check ```C:\qBittorrent\boost\stage\lib``` or ```C:\qBittorrent64\boost\stage\lib``` for the ```.lib``` name, it should be named in this format: ```libboost_system-vcx-mt-s-x_x.lib```, eg: ```libboost_system-vc120-mt-s-1_56.lib``` * Check ```C:\qBittorrent\boost\stage\lib``` or ```C:\qBittorrent64\boost\stage\lib``` for the ```.lib``` name, it should be named in this format: ```libboost_system-vcx-mt-s-x_x.lib```, eg: ```libboost_system-vc120-mt-s-1_56.lib```
* Replace ```libboost_system-vc90-mt-s-1_51.lib``` with the ```.lib``` name. * Replace ```libboost_system-vc90-mt-s-1_51.lib``` with the ```.lib``` name.
* Launch **Qt Creator** and open the ```qbittorrent.pro``` file. * Launch **Qt Creator** and open the ```qbittorrent.pro``` file.
* For **x86**: check the ```x86``` checkbox and click ```Configure Project``` * For **x86**: check the ```x86``` checkbox and click ```Configure Project```
* For **x64**: check the ```x64``` checkbox and click ```Configure Project``` * For **x64**: check the ```x64``` checkbox and click ```Configure Project```
* Change the configuration from ```Debug``` to ```Release``` in the left side of the window (where the computer icon is). * Change the configuration from ```Debug``` to ```Release``` in the left side of the window (where the computer icon is).
* Select ```Build->Build All``` * Select ```Build->Build All```
* After the compilation ends you should have ```qbittorrent.exe``` in: * After the compilation ends you should have ```qbittorrent.exe``` in:
* For **x86**: ```C:\qBittorrent\build-qbittorrent-x86-Release\src\release``` * For **x86**: ```C:\qBittorrent\build-qbittorrent-x86-Release\src\release```
* For **x64**: ```C:\qBittorrent64\build-qbittorrent-x64-Release\src\release``` * For **x64**: ```C:\qBittorrent64\build-qbittorrent-x64-Release\src\release```