美文网首页
一个表白程序的编译与打包

一个表白程序的编译与打包

作者: 灵木er | 来源:发表于2021-08-09 22:41 被阅读0次
screen_recording.gif

七夕就要到了,特意在github上搜了搜表白程序,发现了个CPP(C艹)写的程序,基于Qt widget (cpp)的一个表白动画程序。链接为https://hub.fastgit.org/IfanTsai/flowers,有打包好的windows下的可执行程序,不过文字有人称,如下图,用的时候需要改一下,需要自己编译。今天在此说一说如何编译与打包。

flowers.png

这是基于Qt widget (cpp)的一个表白动画程序,之前没有接触过c++和Qt,完全不知道如何编译与打包,经过一天的摸索,终于编译并打包了。接下来会介绍需要安装哪些工具软件和如何编译并打包,以及减小最终程序的大小。所需要的工具软件和源代码都上传到阿里云盘和百度网盘了。

安装Qt

参考网上http://c.biancheng.net/view/1792.html安装QT,里面有详细的下载和安装教程,linux可以通过包管理器安装,不用单独下载Qt安装程序,windows版的Qt安装程序已上传网盘,按照前面的链接中的教程安装即可。

下载源代码

链接前面已经给出,网盘中也有。可以先运行exe目录下已经打包好的软件看看效果。

编译

使用Qt creator打开flowers文件夹下的flowers.pro文件。

flowers.pro.png

点击build工具,进行构建,如下图,看箭头所指部分,然后可以得到release文件夹及其中的flowers.exe程序,如下图;其实这里点击绿色三角形运行就可以看软件效果。现在的exe程序还不能直接运行,需要使用windeployqt程序拷贝库文件。

flowers.build.png flowers-exe.png

删除exe目录下原打包的exe程序,并且copyrelease目录下的flowers.exe到exe目录,然后打开Qt 5.9 for desktop软件并切换到exe目录,运行windeployqt flowers.exe复制库文件到exe目录,如下图。现在的flowers.exe就可以双击运行了,不过依赖文件夹下的库文件和系统的QT。需要打包成单独的可执行程序。

flowers-dll.png

打包

安装Enigma Virtual Box软件进行打包,软件网盘中也有。打开后按下图选择flowers.exe及库文件,点击Process即可得到flowers_boxed.exe软件,比较大,57M,双击就可以运行,即使电脑上没有Qt也可以运行。到这里就可以结束了,不过这么大,我们压缩下大小,删除不必要的库文件等。

flowers-process.png flowers-process-run.png

经简单测试,发现下图这些文件可以删掉,删掉后重新打包,我们再看看大小变为了29M,依旧比源码作者打包的大很多,使用7zip极限压缩下只有10M了。这样就方便发给喜欢的她或他了。

flowers-del.png flowers-7z.png

注意: 该程序运行后无边框且不显示在任务栏(_), 关闭时需要在任务管理器里杀掉本进程。

linux下直接qmake flowers.pro即可得到可执行程序,至于怎么加依赖打包暂不会。

需要编辑文字等内容的自行修改源代码中的.cpp和.h文件,文本部分都是中文且有注释。音乐、图片这些也可以改。
软件和源代码的网盘链接:
百度网盘
链接:https://pan.baidu.com/s/1hYclD7_0A3LiIu_LBKQ2-Q
提取码:d8b4
阿里云盘
https://www.aliyundrive.com/s/UBRzZei5Ttj
阿里云盘由于不能分享压缩文件,所以将后缀改成了exe,改成zip之后再解压。

相关文章

  • 一个表白程序的编译与打包

    七夕就要到了,特意在github上搜了搜表白程序,发现了个CPP(C艹)写的程序,基于Qt widget (cpp...

  • 包-生成jar文件

    1、对程序进行编译与打包处理: 对程序打包编译:java - d . Message.java; 此时会形成cn的...

  • qt程序打包发布

    qt程序打包发布 目标: 我想安装自己开发的程序 1.打包依赖库 a.使用qtcreator编译生成程序demo....

  • Angular编译打包小记

    这是一篇流水文,日更自律^^ 打包命令 Angular编译打包很简单 编译生成的程序放在 /dist目录下。 常用...

  • iOS架构之路11 -- project,target,work

    iOS应用程序使用Xcode进行编译,打包的时候会接触到workspace,project,target与sche...

  • IOS中Project、target、workspace、sch

    iOS应用程序使用Xcode进行编译,打包的时候会接触到workspace,project,target与sche...

  • 使用HM NIS Edit 创建一个简单的脚本打包程序

    如下演示如何将一个编译好的程序打包成为一个安装包,Visual Studio也有自带的打包组件,主要NIS打包高效...

  • Maven常用命令

    创建一个简单的Java工程 创建一个Java的web工程 编译项目 编译测试程序 运行测试 打包 清理(删除tar...

  • Gradle的统一配置(基础篇)

    Android应用程序的构建过程 所有的资源文件打包编译,在R文件中应用; 将所有的java代码打包编译,通过de...

  • 包管理工具rpm

    Linux 程序包管理 功能:将编译好的应用程序文件打包成一个或是几个程序文件, 从而方便程序的安装、卸载、升级、...

网友评论

      本文标题:一个表白程序的编译与打包

      本文链接:https://www.haomeiwen.com/subject/ugetbltx.html