qt编译太阳神三国杀

编译前置条件

  • qt环境本文环系统包括win10(qt5.14),deepinv15(qt5.9.9)
  • g++编译,本文win10采用的是mingw64编译器

1.下载源码github源码,下载比较慢的去gitee找找

2.下载qt,win和linux自己操作,版本大于5.3就行

3.打开qtCreator,选中源码的.pro文件

4.开始编译

  • 下载swig

  • 编译swig

    • win10的直接下载可执行版,deepin下载源码,直接 sudo make install

    • 利用swig产生sanguosha_wrap.cxx文件

      #win10的命令,注意打开cmd的位置为swig所在目录,后面是源码的sanguosha.i位置
      swig.exe -c++ -lua E:\qt\workspace\space2\QSanguosha\swig\sanguosha.i#deepin,我直接吧刚刚编译的可执行程序拷贝到源码的sanguosha.i 同一目录下执行命令
      swig -c++ -lua ./sanguosha.i
      
  • qt编译源码

    1.QSanguosha.pro文件修改
    #前三行
    TARGET = QSanguosha
    QT += network widgets sql qml quick core gui //新增一些模板
    #!winrt:QT += declarative  这个注释,因为5.9以上没有这个模块了#弟396行,win10的需要改一下else:LIBS += -lfmodex改为else:LIBS += -lfmodex64,这个听说是搞声音的包,具体看自己的编译器位数
    2.开始编译会有很多报错,这里修改qt升级不谦容的报错
    QSanguosha\src\ui目录下面 roomscene.h文件修改,做出如下修改
    #ifndef Q_OS_WINRT//#include <QDeclarativeEngine>,这三个新的qt没有了
    //#include <QDeclarativeContext>
    //#include <QDeclarativeComponent>
    #include<QQmlEngine>
    #include<QQmlContext>
    #include<QQmlComponent>
    #endif#define QDeclarativeEngine QQmlEngine,下面用到了,为例避免修改去一个别名
    #define QDeclarativeContext QQmlContext
    #define QDeclarativeComponent QQmlComponent上面修改完,deepin基本没啥问题,win10可能会出现有的类找不到,从报错信息点进去,少了什么类直接加,比如提示QButtonGroup未定义,就去上面加上#include<QButtonGroup>
  • 动态库移动至编译的位置

    fmodex在源码里面就有,freetype.dll可以直接下载也可以下载源码编译,据说是字体的依赖

    win10建议直接下载dll文件gitee下载位置

    deepin可以去源码下面找fmodex.so,在lib/linux里面找,找到之后打开终端执行

    sudo mv fmodex.so /usr/lib    #这样为了方便程序可以找到这个依赖,注意先去/usr/lib检查一下有没有同名的,避免覆盖#freetype的安装
    下载地址 https://mirror.yongbok.net/nongnu/freetype/freetype-2.10.0.tar.gz
    2.解压
    3.编译安装,执行命令如下
    ./configure
    sudo make install
  • 语言包的编译

    进入源码的builds/sanguosha.ts
    win10,进入qt的bin目录执行如下命令
    lrelease.exe sanguosha.ts -qm sanguosha.qmdeepin 同上,使用界面操作如下下面显示用图形操作,
    复制sanguosha.qm和qt_zh_CN.qm(源文件跟目下有)到编译的exe文件处,deepin方法可执行文件同级目录
    
  • 复制资源到可执行文件所在目录,

    ai-selector
    audio
    builds
    ddiy
    font
    hero-skin
    image
    lang
    lib
    lua
    resource
    rule
    skins
    
  • 点击release运行,win10下面如果少了什么dll就直接去qt的bin目录下面找,复制到exe文件同级就行,想要在桌面快捷启动发送一下快捷方式就行,deepin可以直接创建一个桌面快捷方式启动,不会的deep创建桌面快捷启动方式

运行效果图:

玩online花钱还不爽,找到了这个开源的项目,后面可能会用这个练练手,玩一下qt,改改什么武将之类的。

完!

qt编译太阳神三国杀相关推荐

  1. Mac下编译太阳神三国杀源码

    Mac系统版本是10.13.2,Qt版本是5.11,参考官方博文:太阳神三国杀 Mac 版构建指南 安装Qt5 下载最新的Qt5安装包qt-opensource-mac-x64-5.11.0.dmg, ...

  2. Ubuntu10.04编译太阳神三国杀

    2019独角兽企业重金招聘Python工程师标准>>> http://hankjin.blog.163.com/blog/static/3373193720111261019231/ ...

  3. vs2008编译QT开源项目--太阳神三国杀源码分析(一) 项目编译及整体分析

    请参看 http://tieba.baidu.com/f?kz=1508964881 按照上面的网址教程,下载三国杀源码,swig工具,并下载最新的QT4.8.2 for vs2008.我本机已经安装 ...

  4. 如何获得最新的太阳神三国杀 自己Qt编译

    太阳神三国杀,是一个基于C++ QT GUI框架的三国杀非官方开源软件,开发者:Moligaloo(开发者网站:http://mogara.org/).可以在它上面体验一些不同的模式,尤其可以体验一些 ...

  5. vs2008编译QT开源项目--太阳神三国杀源码分析(四) 动画

    太阳神三国杀中,每当玩家出杀或吃桃子时,就会有一个动画效果,使界面非常生动绚丽.现在我们就分析一下QT中动画的原理,及实现方式,这里我们只分析吃桃子时的动画效果实现.由于三国杀有多个在线玩家同时游戏, ...

  6. vs2008编译QT开源项目--太阳神三国杀源码分析(三) 皮肤

    太阳神三国杀的界面很绚丽,界面上按钮的图标,鼠标移入移出时图标的变化,日志和聊天Widget的边框和半透明等效果,既可以通过代码来控制,也可以使用皮肤文件qss进行控制.下面我们分析一下三国杀的qss ...

  7. 记一次太阳神三国杀的编译

    记一次太阳神三国杀的编译 这是一次学习太阳神三国杀的编译方法,奈何本人技术不大行,如有错误或者不周到的地方还请指出 以下的经验都是我自己遇到的问题,如果你也遇到了一样问题希望对你有所帮助 太阳神三国杀 ...

  8. 太阳神三国杀学习第一步--编译并运行(qt5.7.0+vs2015)

    起因:     很早就想寻找一个开源的c++项目进行学习,也在很早就发现了太阳神三国杀这个项目,但是之前在github中下载后总是草草编译一直没有编译成功过,最近又重燃斗志决定深入研究一下. 分析应该 ...

  9. 太阳神三国杀(一),c++与lua交互

    c++与lua互相调用(内嵌式) 1.下载lua官网 2.解压 tar-zxvf 3.将源码导入项目里面,去掉lua.c和luac.c里面的main方法,在使用之前创建一个lua.hpp文件,作为后面 ...

最新文章

  1. 预处理命令 || 宏定义 || 带参数的宏定义
  2. 雅客EXCEL(4)-录入数据、超链接阻断、下拉菜单、横列转数列、alt+向下方向键、定位公式
  3. Day02-深度学习原理与使用方法
  4. 2021 - 10 -7 ! 二叉树的前序、中序、后序遍历 非递归思路(迭代版本)
  5. Python偷懒小技巧-提高10倍工作效率
  6. insert into 插入空值_MySQL数据库的表中 NULL 和 空值 到底有什么区别呢
  7. 如何运行 SAP Spartacus cypress 端到端测试
  8. 冤冤相报何时了?奥克斯、格力再互怼,“周一见”
  9. zjoi2018day1 游记
  10. php 环境 手动,手动搭建php环境(win系统)
  11. 使用python PIL 模块合成图片
  12. HTPP的请求方式有哪些?
  13. vs code常用的插件
  14. 认证管理(锐捷业软篇)
  15. Latex 的交叉引用
  16. Android开发制作带有侧边栏的联系人列表
  17. 获取svg和svg内容的方法
  18. 用友U8应付期初数据录入案例教程
  19. cad旋转命令_寮步CAD电脑培训班寮步消防附近的电脑培训班
  20. Vue和Nvue区别

热门文章

  1. 速卖通重点国家市场俄罗斯市场分析平台热销产品推荐
  2. 4个知识点帮你理清ARM开发思路!
  3. matlab中poly2sym什么意思,[转载]sym2poly   poly2sym
  4. FPGA之简易频率计的设计
  5. 4g网络设置dns地址_如果你的手机WiFi信号差?输入这串DNS地址,网络瞬间变流畅...
  6. 怎么在线给图片转换格式?分享一款图片转格式神器
  7. 测试透射晶格分析的软件,透射电镜(TEM)电子衍射在晶体结构分析中的应用
  8. 大厂机密,30 提升团队研发效能的锦囊
  9. MATLAB 判断字符串中是否含有特定的字符
  10. 国防科技大学口语课笔记