使⽤MSVC2017静态编译qBittorrent 操作系统:Windows 7 SP1 64-bit
编译器:MSVC 2017社区版(Community Edition)
所有源码:
在Windows 7操作系统中使⽤MSVC 2017编译32位和64位的BT下载软件qBittorrent,详情可参考(时间久了,⽹址可能会失效,参考本⽂⼀样可以成功编译)。本⽂只验证编译32位的qBittorrent的操作过程。操作过程如下:
⼀、编译前准备
1、下载所使⽤的软件以及依赖库
(1)、Perl语⾔解析程序,下载最新版本的并安装。
(2)、下载最新版本的并安装(可能需要为它的安装路径设置环境变量path)。
(3)、下载并将它拷贝到⼯作⽬录,它的SHA256校验码
为“c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1”。
(4)、下载并将它拷贝到⼯作⽬录,它的SHA256校验码
为“1e3a91bc1f9dfce01af26026f856e064eab4c8ee0a8f457b5ae30b40b8b711f2”。
(5)、下载并将它拷贝到⼯作⽬录,它的SHA256校验码
为“85a94ac71c28e59cf97a96714e4c58a18550c227ac8b0388c260d6c717e47a69”。
(6)、下载并将它拷贝到⼯作⽬录。
(7)、下载Qt源码并将它拷贝到⼯作⽬录,它的MD5校验码为“39a0465610f70d9f877f42fc5337d1ac”。
(8)、下载qBittorrent源码并将它拷贝到⼯作⽬录,它的SHA256校验码
为“8b45080860f1322bae5e13866fadf132dc1a8b37a7eafac6c7a3021fa2c97976”。
2、创建⼯作⽬录G:\QBITTORRENT(使⽤其他⽬录效果相同,只是在后⾯的操作中需要正确填写你所使⽤的⼯作⽬录),然后在该⼯作⽬录下创建base和qt5等两个⼦⽬录,分别⽤于存放编译Qt所依赖的库以及Qt⾃⾝的库。
32位:
G:\QBITTORRENT\install_msvc32\base
G:\QBITTORRENT\install_msvc32\qt5
64位:
G:\QBITTORRENT\install_msvc64\base
G:\QBITTORRENT\install_msvc64\qt5
3、使⽤命令⾏的⽅式编译程序,通过路径“开始->所有程序-> Visual Studio 2017-> Visual Studio Tools-> VC”打开命令⾏终端,编译32位的程序使⽤终端“x86 Native Tools Command Prompt for VS 2017”,64位的使⽤“适⽤于 VS 2017 的 x64 本机⼯具命令提⽰”。打开命令⾏终端之后,使⽤命令“cd /d G:\QBITTORRENT”将当前⽬录切换到⼯作⽬录。
⼆、编译Zlib
1、解压zlib-1.2.。
2、进⼊Zlib源码⽬录,如“cd G:\QBITTORRENT\zlib-1.2.11\zlib-1.2.11”。
3、修改win32/Makefile.msc⽂件中的CFLAGS,ASFLAGS和LDFLAGS等选项的值,如下所⽰:
32-bit: CFLAGS  = -nologo -O1 -Oy- -Gy -Gw -GL -MT $(LOC)
64-bit: CFLAGS  = -nologo -O1 -Gy -Gw -GL -MT $(LOC)
LDFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT /LTCG /OPT:REF /OPT:ICF=5 /MANIFEST:EMBED /INCREMENTAL:NO /NODEFAULTLIB:MSVCRT 选项ASFLAGS删除“-Zi”值。
4、使⽤命令“nmake -f win32/Makefile.msc”编译Zlib。
5、将所⽣成的zlib.h、zconf.h和zlib.lib等⽂件拷贝到⼯作⽬录。使⽤xcopy命令拷贝⽂件时,会询问是否创建include和lib⽬录。
32位:
xcopy zlib.h G:\QBITTORRENT\install_msvc32\base\include
xcopy zconf.h G:\QBITTORRENT\install_msvc32\base\include
xcopy zlib.lib G:\QBITTORRENT\install_msvc32\base\lib
64位:
xcopy zlib.h G:\QBITTORRENT\install_msvc64\base\include
xcopy zconf.h G:\QBITTORRENT\install_msvc64\base\include
xcopy zlib.lib G:\QBITTORRENT\install_msvc64\base\lib
三、编译OpenSSL(需要perl和nasm程序)
1、解压openssl-1.1.。
2、进⼊OpenSSL源码⽬录,如“cd G:\QBITTORRENT\openssl-1.1.1d\openssl-1.1.1d”。
3、使⽤以下命令⽣成makefile⽂件(需要在C盘⽣成⼀个⽆⽤的⽬录openssl)。
32位:
perl Configure VC-WIN32 no-shared no-zlib no-zlib-dynamic threads --release --openssldir=C:\openssl --prefix=G:\QBITTORRENT\install_msvc32\base -IG 64位:
perl Configure VC-WIN64A no-shared no-zlib no-zlib-dynamic threads --release --openssldir=C:\openssl --prefix=G:\QBITTORRENT\install_msvc64\base -
4、修改makefile,(1)、为选项CFLAGS增加值“-Oy- -Gy -Gw -GL -MT”(32位)或“-Gy -Gw -GL -MT”(64位);
(2)、以下⾯的值替换LDFLAGS选项原有的值:
LDFLAGS=/NOLOGO /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /LTCG /OPT:REF /OPT:ICF=5 /MANIFEST:EMBED /INCREMENTAL:NO /N
5、使⽤以下命令编译OpenSSL。
nmake
nmake test
6、安装OpenSSL。由于我们在修改LDFLAGS选项时,删除了“/debug”值,所以在编译时不会⽣成*.pdb⽂件,⽽下⾯的安装命令却需要“apps/openssl.pdb”这个⽂件,因此我们需要⼿动⽣成⼀个⽆效的openssl.pdb⽂件。⼀个简单的⽅法,就是复制apps⽬录下的⽂件并将其重命名为openssl.pdb。然后再执⾏下⾯的命令安装OpenSSL:
nmake install_sw
安装完成后,删除这个⽆效的G:\QBITTORRENT\install_msvc32\base\bin\openssl.pdb⽂件(64位编译执⾏类似的命令,⽬录
不同⽽已)。
四、编译Boost
1、解压boost_1_71_0.zip。
2、进⼊Boost源码⽬录,如“cd G:\QBITTORRENT\boost_1_71_0\boost_1_71_0”。
3、执⾏脚本bootstrap.bat⽣成b2.exe程序。
4、使⽤下⾯的命令编译Boost(libtorrent只⽤到其中的system库),其中“-j N”中的N表⽰我们打算使⽤多少个线程同时编译Boost,⽐如我们所使⽤的电脑的CPU为4核,那么我们可以⽤4替代N。
32位:
b2 -q --with-system --toolset=msvc-14.1 variant=release link=static runtime-link=static include="G:\Q
BITTORRENT\install_msvc32\base\include" library-pa 64位:
b2 -q --with-system --toolset=msvc-14.1 address-model=64 variant=release link=static runtime-link=static include="G:\QBITTORRENT\install_msvc64\base
编译所⽣成的静态库存放在G:\QBITTORRENT\boost_1_71_0\boost_1_71_0\stage\lib⽬录下,头⽂件存放在
G:\QBITTORRENT\boost_1_71_0\boost_1_71_0⽬录下的boost⽬录下。
五、编译libtorrent
1、解压libtorrent-rasterbar-1.2.。
2、进⼊libtorrent源码⽬录,如“cd G:\QBITTORRENT\libtorrent-rasterbar-1.2.2\libtorrent-rasterbar-1.2.2”。
3、将boost_1_71_0中的b2.exe拷贝到当前⽬录,如“copy ..\..\boost_1_71_0\boost_1_71_ b2.exe”。
4、使⽤下⾯的命令编译libtorrent,其中“-j N”中的N表⽰我们打算使⽤多少个线程同时编译Boost,⽐如我们所使⽤的电脑的CPU
为4核,那么我们可以⽤4替代N。
32位:
b2 -q --without-python --toolset=msvc-14.1 variant=release link=static runtime-link=static debug-symbols=on encryption=on crypto=openssl openssl-versio 64位:
b2 -q --without-python --toolset=msvc-14.1 address-model=64 variant=release link=static runtime-link=static debug-symbols=on encryption=on crypto=ope
5、使⽤下⾯的命令安装libtorrent库,其中“-j N”中N的意义与第四步骤相同。
32位:
b2 -q --without-python --toolset=msvc-14.1 variant=release link=static runtime-link=static debug-symbols=on encryption=on crypto=openssl openssl-versio 64位:
b2 -q --without-python --toolset=msvc address-model=64 variant=release link=static runtime-link=static debug-symbols=on encryption=on crypto=openssl o
六、编译Qt源码
1、解压qt-everywhere-src-5.13.2.zip。
2、进⼊Qt源码⽬录,如“cd G:\QBITTORRENT\qt-everywhere-src-5.13.2\qt-everywhere-src-5.13.2”。
3、按照下⾯的说明修改qtbase/mkspecs/f⽂件。
32位:
QMAKE_CFLAGS_RELEASE = -O1 -Oy- -Gy -Gw -GL -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O1 -Oy- -Gy -Gw -GL -MT -Zi
64位:
QMAKE_CFLAGS_RELEASE = -O1 -Gy -Gw -GL -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O1 -Gy -Gw -GL -MT -Zi
32位和64位:
QMAKE_CFLAGS_DEBUG = -Zi -MTd
QMAKE_LFLAGS = /NOLOGO /DYNAMICBASE /NXCOMPAT /LTCG
QMAKE_LFLAGS_RELEASE = /DEBUG /OPT:REF /OPT:ICF=5 /MANIFEST:EMBED /INCREMENTAL:NO /NODEFAULTLIB:MSVCRT
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /DEBUG /OPT:REF /OPT:ICF=5 /INCREMENTAL:NO
4、执⾏下⾯的命令配置Qt源码:
32位:
configure -prefix G:\QBITTORRENT\install_msvc32\qt5 -I G:\QBITTORRENT\install_msvc32\base\include -L G:\QBITTORRENT\install_msvc32\base\lib -p 64位:
configure -prefix G:\QBITTORRENT\install_msvc64\qt5 -I G:\QBITTORRENT\install_msvc64\base\include -L G:\QBITTORRENT\install_msvc64\base\lib -p 编译Qt所⽣成的静态库和头⽂件将保存到G:\QBITTORRENT\install_msvc32\qt5(32位)⽬录。
5、可以使⽤nmake或jom编译Qt,但nmake只⽀持单线程编译,所以这⾥使⽤jom程序来编译,以加快编译速度。下载并解压,然后将其中的⽂件拷贝到G:\QBITTORRENT\qt-everywhere-src-5.13.2\qt-everywhere-src-5.13.2⽬录下。执⾏下⾯所⽰的命令
编译及安装Qt(其中“-j N”中N的意义与第四步骤相同):
jom -j N
jom -j N install
七、安装Qt Creator并配置构建套件
1、安装Qt Creator,我们这⾥是通过qt-opensource-windows-x86-5.安装程序安装,Qt Creator的版本为Qt Creator
4.9.1 (Enterprise)。
2、启动Qt Creator并选择“⼯具->选项”菜单。
3、在第2步骤所弹出的对话框中,选择“Kits”选项,然后选择其中的“Qt Versions”标签,最后点击右上⾓的“添加”按钮,添加我们所制作的(或)并将其命名为“Qt 5.13.2 MSVC2017 32bit”或“Qt 5.13.2 MSVC2017 64bit”。点击左下
⾓“Apply”按钮保存变更。
4、在同⼀对话框,选择“构建套件(Kit)”标签。点击右上⾓的“添加”按钮,在弹出的对话框中,在“Qt version”的下拉列表中,选择第3步骤所设置的Qt版本,如“Qt 5.13.2 MSVC2017 32bit”或“Qt 5.13.2 MSVC2017 64bit”。将该构件套件命名
为“Desktop Qt 5.13.2 MSVC2017 32bit”或“Desktop Qt 5.13.2 MSVC2017 64bit”。对于编译32位的程
序,“Compiler”的C或C++的编译器都选择“Microsoft Visual C++ Compiler 15.0 (x86)”。设置完成后,点击“Apply”按钮保存变更。
⼋、编译qBittorrentmysql下载32位

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。