Mac下编译太阳神三国杀源码
Mac系统版本是10.13.2,Qt版本是5.11,参考官方博文:太阳神三国杀 Mac 版构建指南
-
安装Qt5
下载最新的Qt5安装包qt-opensource-mac-x64-5.11.0.dmg,安装步骤可参考博文 https://blog.csdn.net/qq_37486501/article/details/80632151
安装过程类似,只不过版本不同,这里使用的版本是5.11。创建快捷方式可参考我的博文 Mac下在Qt5里面测试liblua.a和libtolua.a库 -
编译swig
因为太阳神三国杀源码界面用的Qt编写,而武将技能和场景用的是LUA脚本,将这两种结合在一起的工具用的就是swig,swig下载地址
这里下载的是当前最新的源码swig-3.0.12.tar.gz文件,打开终端,使用命令将其解压
tar -zxf swig-3.0.12.tar.gz
然后进入解压目录,进行配置
cd swig-3.0.12 ./configure --without-pcre
注意这里要看清楚,带参数是两个-,官网上不知是页面显示问题还是其他原因,我复制过来变成一个-了,结果就报错:
./configure –without-pcre configure: WARNING: you should use --build, --host, --target configure: WARNING: invalid host type: –without-pcre checking build system type... Invalid configuration `–without-pcre': machine `–without' not recognized configure: error: /bin/sh Tools/config/config.sub –without-pcre failed
看到下面显示证明配置成功了:
config.status: creating Makefile config.status: creating config.h The SWIG test-suite and examples are configured for the following languages: perl5 php python ruby
接下来就可以进行编译了:
make sudo make install
没有出现错误就证明编译成功了,接下来就可以编译三国杀源码了
- 三国杀源码编译
首先下载源码,GitHub上有最新源码:三国杀源码下载
解压后进入源码的swig目录,输入命令:
cd swig swig -c++ -lua sanguosha.i
得到sanguosha_wrap.cxx文件后,就可以使用QtCreator打开QSanguosha.pro工程了,打开过程在官方都有说明,这里就不再赘述了。直接说编译过程,刚打开工程就报错了:
看一下.pro工程文件出错位置:
这份三国杀代码是依照Qt4写的,而Qt5把declarative已经改为qml和quick了,所以这里需要改一下:
继续编译,又出错了:
看来不止需要修改工程文件添加的模块,连类名都改变了,QtDeclarative变为QtQuick了,修改src目录的pch.h文件:
类似的还有roomscene.h和roomscene.cpp文件,QDeclarativeEngine,QDeclarativeContext和QDeclarativeComponent在Qt5里分离成Qml的QQmlEngine,QQmlContext和QQmlComponent了,对应修改一下就可以了:
改好后再次编译,终于成功了,先别顾着高兴,记得把一些资源文件拷贝到运行文件所在目录啊。找到编译生成目录:
看到这个有图标的文件,右键“显示包内容”,就可以进入目录中了,把
audio,diy,etc,font,image,lang,lua,skins,ui-script,qt_zh_CN.qm和库文件libfreetype_D.a,libfreetype.a拷贝到Contents/MacOS/目录下,至于官网说的ai-selector,rule和sanguosha.qss文件在源码里并没有找到。最后我到目录文件如下:
赶紧运行程序试一下吧:
提示了一个小问题:
但是好在不影响程序运行,界面还是出来了:
至于问题嘛,以后有空再分析下源码,我先杀一局去了,再见。。。
- ArduPilot源码学习--(一)--MAC下编译ArduPilot源码
- 在Mac OS X 10.10.3下使用源码包编译安装GCC5.1
- Mac系统Android M源码编译并导入Android Studio查看
- Mac下编译Android源码(OSX10.9 Mavericks)
- 【GUI编程之准备--1】MAC 编译wxWidgets 源码
- 【转】在MAC系统中编译ANDROID源码与模拟器内核GoldFish
- [整] Mac OS X 10.6 下 android 源码编译
- MAC编译Android源码 prebuilts/misc/darwin-x86/bison/bison出错
- Android学习——Mac Os X下载和编译android 4.2.2 源码
- vs2008编译QT开源项目--太阳神三国杀源码分析(三) 皮肤
- Mac系统下源码编译安装MySQL 5.7.17的教程
- Mac OS X 10.8.4下Android4.2.2源码下载与编译
- Mac OS X 10.8.4下Android4.2.2源码下载与编译
- Mac OS X 10.10.3下android-5.1.1_r9 源码下载与编译
- mac下利用IDEA工具Maven编译Spark源码
- MAC下将FFmpeg3.3源码编译成so
- vs2008编译QT开源项目--太阳神三国杀源码分析(五) 分牌及出牌
- mac 系统编译ffmpeg 源码
- Mac下Android 4.4源码编译