我需要为所有主要的3种操作系统(Windows,Linux和MacOS)部署基于Qt 5.12.1的pyside2应用程序。
我已经检查了如何使Python脚本独立可执行文件在没有任何依赖的情况下运行?但是这不是我想要的,因为我需要一个像Qt的相关办法windeployqt,macdeployqt,linuxdeployqt(独立的项目)。
正如eyllanesc指出的:“ python是一种不会生成二进制文件的脚本语言”。但是,Qt公司也应该考虑到这一点,并使我们更易于部署pyside2应用程序。至少与部署C ++ / QML应用程序一样容易。
所以,我要像一个工具windowsdeployqt,macdeployqt,linuxdeployqt ......那作品与pyside2应用。
[更新]
eyllanesc建议使用fbs(fman构建系统)作为起点,因为尚无用于部署pyside2应用程序的官方工具。这应该作为一种解决方法。也欢迎新的答案。
当Qt公司发布正式工具时,请尽快回答。
[注意]:我正在使用基于Qt 5.12.1的Qt Creator 4.8.1
在新的 Qt 5.15.0 中,有一种新的声明方式来注册 C++ 类型以在 QML 中使用。我按照Qt 帮助中给出的步骤(https://doc.qt.io/qt-5/qtqml-cppintegration-definetypes.html#registering-an-instantiable-object-type)但它给了我以下错误:
/.../randomnumbergenerator.h:10: error: ‘QML_ELEMENT’ does not name a type
QML_ELEMENT
^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
目前该类的定义是:
/.../randomnumbergenerator.h:10: error: ‘QML_ELEMENT’ does not name a type
QML_ELEMENT
^~~~~~~~~~~
Run Code Online (Sandbox Code Playgroud)
编辑:我已经在.pro文件中添加了以下内容:
CONFIG += c++11 qmltypes
QML_IMPORT_NAME = SimpleRng
QML_IMPORT_MAJOR_VERSION = 1
Run Code Online (Sandbox Code Playgroud)