Qt打包

下面分别介绍这两种方式创建应用的发布方式。


1. Qt Widgets Application
首先用 QtCreator 新建一个 Qt Widgets Application 项目,直接用默认的 QMainWindow 程序就可以了,项目名字假定是 hellomw。



然后以 Release 方式编译生成 exe 程序:


在进入文件夹 release 里面,找到 hellomw.exe,将这个exe 复制到一个新的单独的文件夹里用于发布,比如存到 D:\hellomw\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,输入命令:cd /d D:\hellomw
然后使用 windeployqt 工具命令:windeployqt hellomw.exe


然后可以在 D:\hellomw 文件夹里看到 windeployqt 工具自动复制的插件文件夹和 dll文件、qm文件。这时候得到的就完整的 exe 程序发布集合,依赖关系都解决好了。


把 D:\hellomw 文件夹 打包就可以发布了,不用自己一个个找 dll 文件了。D:\hellomw 文件夹里的qm文件是多国语言翻译文件,不需要可以删了,其他的都保留。





问题:

exe打不开


应用程序无法正常启动(0xc000007b)。


控制台中

can not find any version of the d3dcompiler dll

can not find visual studio installation directory ,VCINSTALLDIR is not set



用qt自带的打包,不要用cmd







2. Qt Quick Application

首先用 QtCreator 新建一个 Qt Quick Application 项目,直接用默认的项目模版,点击下一步生成项目,项目名字假定是 helloqml。
然后以 Release 方式编译生成 exe 程序:


然后找到项目的构建目录,比如项目源码目录 C:\QtPros\helloqml 。
它的构建目录是:C:\QtPros\build-helloqml-Desktop_Qt_5_4_0_MinGW_32bit-Release\ 。
进入这个目录,再进入 release 子文件夹,找到 helloqml.exe ,复制到一个新的单独的文件夹里面,比如 D:\helloqml\ 文件夹里面。

然后从开始菜单打开 Qt 命令行,进入D:\helloqml\文件夹:cd /d D:\helloqml
然后使用 windeployqt 工具命令:windeployqt helloqml.exe --qmldir C:\Qt\Qt5.4.0\5.4\mingw491_32\qml


注意不要跟完全一样照抄上条命令!--qmldir 是指出 Qt 库里面的 qml 文件夹位置,上面命令里 C:\Qt\Qt5.4.0 是 Qt 官方开发环境安装的文件夹,C:\Qt\Qt5.4.0\5.4\mingw491_32 是Qt类库的目录(QTDIR),因此使用的 --qmldir 后面写的是 C:\Qt\Qt5.4.0\5.4\mingw491_32\qml ,读者Qt环境安装路径不一样,要根据实际情况修改!

然后可以看到 D:\helloqml 文件夹里有一大堆文件,就是 QtQuick程序需要的依赖文件。将整个 D:\helloqml 文件夹 打包就可以发布出去,在别的电脑上使用。

这个 D:\helloqml 文件夹里的东西很多,看不懂就不要删,老老实实打包发布就行了。


上面是最简单的程序发布,实际复杂程序可能还带一些图片文件、数据库文件、配置文件之类的,可以按自己需要添加这些文件到发布文件夹里面。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Qt是一个跨平台的开发框架,而Matlab是一种数学和工程计算软件。要将Matlab库打包Qt中,需要进行一些步骤。 首先,确保Matlab库已经编译成功并生成了相关的动态链接库文件(.dll文件)或者静态链接库文件(.lib文件)。 然后,在Qt的项目中创建一个新的文件夹,用于存放Matlab库的相关文件。 将Matlab库的头文件(.h文件)复制到该文件夹中。这些头文件包含了需要调用的函数和类的声明。 然后,将生成的动态链接库文件或者静态链接库文件复制到该文件夹中。 接下来,在Qt的项目配置文件(.pro文件)中添加相关的引用和连接信息。使用LIBS变量来指定链接的库文件,使用INCLUDEPATH变量来指定头文件的路径。例如,可以使用类似以下的语句进行设置: LIBS += -L"path/to/matlab/lib" -lmatlab INCLUDEPATH += "path/to/matlab/include" 最后,在Qt项目中调用Matlab库的函数或类。根据需要,可以使用Qt的信号和槽机制来处理Matlab库的返回结果,或者使用普通的函数调用。 总的来说,Qt打包Matlab库的过程包括将Matlab库的头文件和链接库文件复制到Qt项目中,并且在配置文件中添加相关引用和连接信息。然后在Qt项目中调用Matlab库的函数或类。这样就可以在Qt中使用Matlab功能了。 ### 回答2: Qt 是一种跨平台应用程序开发框架,而MATLAB是一种用于数学计算和数据分析的强大软件。将MATLAB库打包Qt应用程序可以实现在Qt界面中调用MATLAB函数,从而实现MATLAB功能与Qt界面的结合。 首先,我们需要在Qt项目中配置MATLAB。在.pro文件中添加以下代码: ``` LIBS += -L"matlabroot\bin\win64" -leng -lmex -lmat //替换为MATLAB安装目录 INCLUDEPATH += "matlabroot\extern\include" //替换为MATLAB安装目录 ``` 然后,我们需要将MATLAB库的相关文件复制到Qt项目的目录中。这些文件包括libeng.dll、libmex.dll和libmat.dll。可以在MATLAB安装目录的bin\win64文件夹中找到它们。将这些文件复制到Qt项目的可执行文件所在的目录中。 接下来,在Qt项目中创建一个包含MATLAB功能的类。这个类将完成与MATLAB函数的交互,并将其封装到Qt界面中。可以使用MATLAB Engine API 来实现与MATLAB之间的通信。例如,可以使用engOpen函数打开MATLAB引擎,使用engEvalString函数执行MATLAB命令,使用engGetVariable函数获取MATLAB变量等。 最后,我们需要在Qt界面中调用这个包含MATLAB功能的类。可以在Qt界面中通过按钮、菜单等方式触发与MATLAB函数的交互。当用户点击按钮Qt界面会调用对应的MATLAB函数,并将结果显示在界面上。 综上所述,将MATLAB库打包Qt应用程序需要配置MATLAB环境,在Qt项目中创建相关类来封装与MATLAB的交互,并在Qt界面中调用这些类来实现MATLAB功能与Qt界面的结合。这样,就可以在Qt应用程序中方便地使用MATLAB库。 ### 回答3: Qt是一款跨平台的C++应用程序开发框架,而Matlab是一款数值计算和仿真软件。要在Qt打包Matlab库,可以按照以下步骤进行: 第一步,将Matlab库导出为C++接口。在Matlab中,可以使用MATLAB Compiler将库导出为C++可执行文件或库文件。这将生成一个接口,可以在Qt中调用Matlab库。可以根据需要选择要导出的函数和接口。 第二步,将生成的C++接口文件添加到Qt项目中。可以在Qt项目目录中创建一个文件夹,并将C++接口文件复制到该文件夹中。然后,在Qt项目文件(.pro文件)中添加对C++文件的引用。这样,Qt就可以使用Matlab库中的函数和功能。 第三步,配置Qt项目。在Qt项目文件(.pro文件)中,需要添加Matlab库的相关依赖项和链接库。可以使用Qt的QMAKE或CMake等工具来配置项目。 第四步,编译和构建Qt项目。完成配置后,可以使用Qt的编译工具(如qmake和make)来编译和构建项目。编译过程会将Matlab库的功能与Qt应用程序集成在一起。 最后,执行生成的Qt应用程序。完成编译和构建后,可以执行生成的Qt应用程序,并测试Matlab库的功能是否正常。 总结:在Qt打包Matlab库,需要将Matlab库导出为C++接口,将接口文件添加到Qt项目中,配置项目并编译构建。通过这些步骤,就可以在Qt中成功使用Matlab库的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值