Windows

以release方式编译出可执行文件

路径:D:\IDE\Qt5.12.3\5.12.3\mingw73_32\bin

命令:windeployqt.exe app.exe

写作天下打包命令:

1
D:\IDE\Qt5.13.1\5.13.1\mingw73_32\bin\windeployqt.exe WriterFly.exe

exe尽量使用英文,否则可能出现Cannot find GCC installation directory. g++.exe must be in the path错误

  • 使用 UPX 压缩工具减小体积
  • 使用 Enigma Virtual Box 打包成单独一个文件

Linux

linuxdeployqt

安装

GitHub上下载编译好的 linuxdeployqt-x86_64.AppImage 应用程序文件。

最简单的安装方式:将其改名为 linuxdeployqt,并 chmod +x,然后复制到 /usr/local/bin/。然后命令行输入 linuxdelpoyqt –version,查看是否安装成功,若输出版本信息表示安装成功。

打包成 AppImage

创建一个文件夹,然后将编译的可执行程序(此处为myAPP)复制到此文件夹下;
2、在文件夹内使用 linuxdeployqt 进行打包,一定要加上-appimage选项,命令如下:

$ linuxdeployqt myAPP -appimage
在完成第二部操作之后,就可以在其他机器上愉快的使用我们发布的程序了。

打包成AppRun

qmake 存放路径也是 /home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake

程序名是 UbuntuApp 的话,cd 到你 deployqt 的路径

执行 ./linuxdeployqt UbuntuApp -qmake="/home/wu/Qt5.10.1/5.10.1/gcc_64/bin/qmake"

例如:

1
2
3
cd ~/Projects/build-MyApp-Release

/usr/local/bin/linuxdeployqt MyApp -qmake="~/Qt5.13.1/5.13.1/gcc_64/bin/qmake" -unsupported-allow-new-glibc

生成一个 AppRun 文件。

环境库

注意ldd命令没有拷贝的环境库,也就是platforms文件夹及两个链接文件

https://blog.csdn.net/lusanshui/article/details/84988017

  • ln -s $PWD/libQt5XcbQpa.so.5.13.1 libQt5XcbQpa.so.5
  • ln -s $PWD/libQt5DBus.so.5.13.1 libQt5DBus.so.5

中文输入法

将安装在

/usr/lib/x86_64-linux-gnu/qt5/plugins/platforminputcontexts/

下的库文件

libfcitxplatforminputcontextplugin.so

拷贝到以下路径:

  • ~/Qt5.13.1/Tools/QtCreator/bin/plugins/platforminputcontexts/
  • ~/Qt5.13.1/5.13.1/gcc_64/plugins/platforminputcontexts/

之后再重新编译、打包部署

打包成DEB

https://blog.csdn.net/weixin_39083202/article/details/106817151

Mac

直接打包成dmg文件即可。

写作天下打包命令:

1
2
cd ~/Qt5.13.1/5.13.1/clang_64/bin
./macdeployqt ~/Projects/WriterFly_v2.1.0/WriterFly.app -dmg

遇到错误:

1
ERROR: Bundle creation error: "hdiutil: create failed - \xE6\x96\x87\xE4\xBB\xB6\xE5\xB7\xB2\xE7\xBB\x8F\xE5\xAD\x98\xE5\x9C\xA8\n"

把原先生成的 dmg 文件删除即可。

Android

直接编译成APK