最近突然特别迷三国杀,然而玩起来总是输多赢少,可能自己不是一个擅长玩儿游戏的人,自己以前玩儿dota,前一段时间玩儿wow,玩儿三国志,三国无双……算算自己玩儿的游戏还真不少,然而没有一个游戏自己玩儿的好能进入高端玩儿家的行列……可能自己真的没有玩儿游戏的天分吧~~
闲话少说,书归正传,玩儿三国杀玩儿不好,继而转为研究三国杀的源代码,网上搜索了一下,看到了这个帖子,继而开始研究起来,其中颇费周折,现将其中过程整理如下,供有兴趣的人参考。
参考的帖子如下,但是有很多不详尽的地方,自己在编译的过程中遇到了很多问题。
http://qsanguosha.com/forum.php?mod=viewthread&tid=755&fromuid=5713
第一步: 编译环境准备: qt-sdk swigwin QSanguosha-sorucecode
qt sdk
下载
http://qt.nokia.com/downloads/
我是win7系统 所以下载 windows offline离线安装包那个 网速稳定的话 在线安装也可以(左边online installer)
安装:
安装的时候要注意选择安装的内容,由于我系统中装有vs2010,所以在安装的过程中,默认不会自动安装MinGW,安装时不要默认安装,要自定义安装,否则在编译过程中会报错(_func_参数需要用MinGW的gcc编译,vs2010的compile编译会报错)。
swigwin
下载
http://sourceforge.net/projects/swig/files/swigwin/swigwin-2.0.4/
安装
解压即可
QSanguosha-sourcecode
下载
https://github.com/Moligaloo/QSanguosha/downloads
安装
解压即可
第二步:编译
将解压的QSanguosha-sourcecode目录重新命名,不重新也行,主要是原文件目录名字太长不方便后续操作。我命名为QSanguosha并放在我的常用工作目录D:\Workspace\OpenSource\ 下了,这个随个人喜好了。
生成编译目录QSanguosha-build-desktop
用qt sdk安装的 qt creator 打开QSanguosha下的QSanguosha.pro 生成一个desktop工程,注意选择编译选项,否则会生成很多没用的文件。将没用的前面的对勾都去掉,编译目录的名字也修改一下,否则会很长很长(不是一般的长)。
生成后desktop工程之后,需要对工程进行一下设置,然后运行qmake生成QSanguosha-build-desktop目录
运行qmake
准备编译目录
将QSanguosha目录下的 resource\ 整个目录和QSanguosha\lib\ 文件夹下所有文件 拷贝到QSanguosha-build-desktop\ 根目录下
生成sanguosha_wrap.cxx文件
这个需要手动在cmd环境下执行
开始->运行->cmd (或者win+r键->cmd)
d: (根据自己QSanguosha\ 所放目录的盘符定)
cd D:\Workspace\OpenSource\QSanguosha\swig (根据自己QSanguosha\swig目录而定)
D:\ProgramEnv\swigwin-2.0.4\swig -c++ -lua sanguosha.i (根据自己swigwin-2.0.4解压目录而定)
设置运行目录为源码目录(默认是编译目录)
解压字体文件
D:\Workspace\OpenSource\QSanguosha\font\font.7z 解压到当前目录生成 FONT.TTF文件
运行即可
运行的可能错误
我在编译运行的时候,报了一个错误,windres:can't popen xxxxxxxxxxxxx release\icon_res.o 相关的错误。
这个是为了给自己编译的exe文件生成已自己的特有图标用的,编译的时候报错
问题原因我也不大清楚,google了很多资料,不明所其然,好在我比较有耐心,经过了好多种方法,最终解决了,解决办法是手动生成icon_res.o文件
win+r->cmd (后续操作目录 需要根据自己实际的目录修改)
d:
cd D:\Workspace\OpenSource\QSanguosha-build-desktop\resource
set path=C:\QtSDK\mingw\bin;C:\QtSDK\Desktop\Qt\4.7.4\mingw\lib;C:\QtSDK\Desktop\Qt\4.7.4\mingw\bin
C:\QtSDK\mingw\bin\windres.exe -i icon.rc -o icon_res.o
move icon_res.o ..\release\
运行截图
界面是英文的,但里面是中文的
界面汉化
用qt sdk安装的 QT Linguist 打开D:\Workspace\OpenSource\QSanguosha\sanguosha.ts file->release as(文件->另发布为)为sanguosha.qm放在同一个目录,即可。
OK,到此为止,编译运行完毕,开始研究代码,DIY自己的三国杀吧~~
惟贤惟德,以德糊人……
能进能退,乃真正法器……
以星辰之力,佑我蜀汉……
天命?