vs2010编译qbittorrent

出于探索,尝试在vs2010环境下编译了qbittorrent,下面将编译的方法和步骤写在这里,当作一个总结和梳理,也为以后留一个copy。
注:本文假定已经安装了vs2010,并且是非Express版。
**********************************************************************
本文的安装环境如下:
操作系统版本:win7 sp1 x86
vs版本:vs2010 ultimate版
QT版本:4.8.0
boost库版本:1.49.0
openssl版本:Win32 OpenSSL v1.0.1
libtorrent版本:libtorrent-rasterbar-0.15.10
qbittorrent版本:2.9.7
**********************************************************************
1、下载安装QTSDK,具体下载页面请google或是百度
2、下载安装Qt Visual Studio Add-in,下载地址请google或是百度,注意是下载for vs2010版的。
3、编译安装Qt到vs2010,以便可以使用Qt的库,开发Qt项目(以下方法来自网络,具体路径或是版本参考本地环境,图片也来自网络):
(1)、进入开始菜单Microsoft Visual Studio 2010,Visual Studio Tools,Visual Studio Command Prompt (2010),需要注意的是,这里面必须是使用Visual Studio Command Prompt (2010),不能使用CMD的Dos窗口;


(2)、进入Qt的安装目录后,执行CD Qt,进入Qt的根目录;


(3)、运行命令 configure -platform win32-msvc2010,o(选择opensource模式)回车,Y(同意license)回车;


(4)、接着就会自动配置Qt的编译环境,等配置结束后,运行nmake,回车,Qt就会开始漫长的编译过程,这段时间非常长,需要4个小时以上(我的电脑配置较差,所以用了近10个小时);


(5)、配置Visual Studio 2010的Qt开发环境(Visual Studio 2010最好是英文版本,Qt对Visual Studio 2010中文版本可能支持的不好)等Qt编译好后就可以配置Visual Studio 2010的开发环境了,进入Visual Studio 2010,选择Qt菜单,Qt Option,进入下图界面;


点击Add,添加Qt的安装目录,并取名字,我这里使用Qt的发现版本最为名称,选择OK后即可。

(6)、新建或者导入Qt项目

可以通过一般创建VS项目的方式创建Qt的项目,也可以通过菜单栏的Qt来导入Qt工程。

(7)、我在编译过程中遇到的问题

A、类似于下面这个错误(下面的信息摘自网络,自己的木有备份,但是大体是差不多的)

01.api\qscriptextensionplugin.h(43): Error: Undefined interface 
02.NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1' 
03.Stop. 
04.NMAKE : fatal error U1077: '"d:\Program Files\Microsoft Visual Studio 9.0\VC\BIN 
05.\nmake.exe"' : return code '0x2' 
06.Stop. 
07.NMAKE : fatal error U1077: 'cd' : return code '0x2' 
08.Stop. 
api\qscriptextensionplugin.h(43): Error: Undefined interface
NMAKE : fatal error U1077: 'C:\Qt\2009.05\qt\bin\moc.exe' : return code '0x1'
Stop.
NMAKE : fatal error U1077: '"d:\Program Files\Microsoft Visual Studio 9.0\VC\BIN
\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

解决方法如下(摘自网络):

将以下两个目录下的这两个文件删除

qt/src/script/tmp/moc/debug_shared/mocinclude.tmp
qt/src/script/tmp/moc/release_shared/mocinclude.tmp

然后继续编译。

B、类似于下面这个错误(下面的信息摘自网络,自己的木有备份,但是大体是差不多的,是出在编译webkit核的时候

D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C2065: “QSslError”: 未声明的标识符
D:\tools\Qt\2010.05\qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\moc_Sock
etStreamHandlePrivate.cpp(97) : error C3861: “socketSslErrors”: 找不到标识符
正在生成代码...
NMAKE : fatal error U1077: “"D:\tools\Microsoft Visual Studio 10.0\VC\BIN\cl.EX
E"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"D:\tools\Microsoft Visual Studio 10.0\VC\BIN\nmake
.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.

解决方法如下(摘自网络):

qt\src\3rdparty\webkit\WebCore\tmp\moc\debug_shared\mocinclude.tmp 
qt\src\3rdparty\webkit\WebCore\tmp\moc\release_shared\mocinclude.tmp
删除之后可以继续编译(重新执行nmake命令)。

C、出现如下错误

DefaultLocalizationStrategy.cpp(327) : “error C2001: newline in constant” in building 4.8.0
解决方法:

将系统区域设置成为“英国”。具体方法:控制面板->时钟、语言和区域->更改位置->管理(标签)->更改系统区域设置...->英语(美国)。然后确定,然后重启电脑。重启后继续编译(nmake命令)。

(8)、注意将Qt安装路径的bin目录添加到系统的PATH环境变量(注意添加是单击"编辑...")。

4、编译boost库、编译libtorrent库、将OpenSSL根目录下的include文件夹中的openssl文件夹拷贝到Msvc的include文件夹中(C:\Program Files\Microsoft Visual Studio 10.0\VC\include)

详见:网上具体文章如下

http://www.2cto.com/os/201107/96607.html

http://loading.1976.blog.163.com/blog/static/127803714201152814444229/

5、编辑winconf.pri和winconf-msvc.pri文件,添加boost、libtorrent、OpenSSL的相应路径

注:这里也可以将boost、libtorrent、OpenSSL的相应路径添加的vs2010项目属性对应的include目录和lib目录。

6、在vs2010中打开qbittorrent项目,编译。

6.1、可能遇到的编译错误及相应的修改方法:

A、如果编译的时候因为有“无穷大”的字符不能识别,或者把“无穷大”改成可识别的数字,例如100,或者系统设成英文Locate就可以编过(设置方法3中(7)的C中所述)。

B、会出现如A中一样的错误提示,但定位后,错误所在行有"VERSION",将VERSION修改为qbittorrent的版本号,如“v2.9.7”。

7、编译成功后点击“运行”,可以启动qbittorrent。


如有问题,欢迎大家留言!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值