qt编译太阳神三国杀

本文详细介绍了在Win10和Deepin系统下,如何使用Qt环境编译太阳神三国杀游戏。涉及步骤包括下载源码、Qt Creator加载项目、编译Swig、解决编译错误、动态库配置以及语言包的编译。通过这些步骤,可以在不同系统上成功运行这个游戏。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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.qm
    
    deepin 同上,使用界面操作如下
    
    
    下面显示用图形操作,
    复制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,改改什么武将之类的。

完!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值