使用QT自带命令行来打包程序

使用QT自带命令行来打包程序,第1张

在发布自己的程序时,很多时候都会因为一些依赖的dll文件不存在而报错,而我们新手却不知道应该如何添加,那么我们可以使用QT自带命令行来自动添加依赖文件。

命令行指令:windeployqt *.exe

首先,将你需要打包的exe文件单独放在一个文件夹中,然后打开QT自带的命令行,找到那个文件夹,之后就可以使用windeployqt加上exe文件来自动打包了,QT会自动帮你添加好全部的依赖文件,保证100%能运行,但是需要注意的是,友弯拆由于这个100%的保证,他也许添加了很多无闹银用的dll文件,这好枣会使得我们自动打包出来的文件很臃肿,所有有经验的各位可以按需要自行删除不必要文件。

一、环境配置

1

要想使用Qt进行命令行编译,环境配置是必不可少的一步。环境配置好以后,我们才能使用相应的qmake,nmake等命令,并且链接到编译程序时所需要的头文件和库文件。

小提示:为了帮助大家解决环境配置的问题,新版Qt已经自带了相应的批处理文件含雹,我们只要在编译前执行对应的批处理文件即饥老瞎可。

2

首先,我们在命令行编译时需要运行qmake.exe,因此我们需要将该文件的路径添加到PATH变量中。要想做到这一点,我们只需要执行Qt安装目录下的

Qt5.5.1\5.5\msvc2013\bin\qtenv2.bat 批处理即可。

3

其次,在编译过程中,我们还需要用到nmake命令,并且链接相应的头文件和库文件,以生成最终的可执行程序。要想做到这一点,我们只需要执行VS安装目录下的

D:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin\vcvars32.bat批处理即可。

注意:由于我安装的是Qt for VS2013 32位版,所以运行的是vcvars32.bat,如果你安装的是64位版,请运行vcvars64.bat。

4

至此,环境配置就大功告成了。关于这个环境配置,需要特别指出的是,这个配置是临时性的,只在当前命令行窗口有效;也就是说,你关闭命令行窗口后,均需要重新运行相应的批处理文件。

END

二、命令行编译

首先,将以上两个批处理文件复制到要编译的工程目录中。

然后,点击菜单“文件”-“打开命令提示符”,在该目录下打开命令行窗口。

执行批处理文件qtenv2.bat。注意,由于该批处理会跳转到Qt安装目录,我们执行完毕后需要回到我们的当前目录(我这烂空里由于Qt安装目录与当前目录不在同一个磁盘,只要切换磁盘便回到当前目录了)。

执行批处理文件vcvars32.bat。

下面,正式开始编译。首先,生成工程文件。键入命令:

qmake -project

说明:生成的工程文件名会与你当前的目录名同名。例如,我当前的目录名为test,生成的工程名则为test.pro。

接着,输入qmake test.pro,生成相应的Makefile文件。

最后,键入nmake,生成最终的可执行文件。

1、在Linux下的命令行编辑程肆戚序:如雹敏

[root@localhost root]# mkdir hello

//mkdir命令创建一个hello目录

[root@localhost root]# cd hello

//cd命令切换到刚才创建的hello目录

[root@localhost hello]# vi main.cpp

//在hello目录中用vi创建一个main.cpp文件 将下面的代码输入到main.cpp文件中渣枝

#include <QApplication>

#include <QLabel>

int main(int argc,char *argv[])

{

QApplication app(argc,argv)

QLabel *label = new QLabel(“Hello Qt”)

Label->show()

return app.exec()

}

2、然后在命令行编译程序:

[root@localhost hello]# qmake –project

//执行qmake –project,因为目录是hello,因此在hello目录下生成一个与平台无关的项目文件hello.pro,

[root@localhost hello]# qmake hello.pro

//执行qmake hello.pro项目文件后,在hello目录下生成一个与平台有关的Makefile文件。

[root@localhost hello]# make

//执行make进行编译源代码,并生成main.o目标文件及hello执行文件。

[root@localhost hello]# ./hello

//执行hello,就会d出Hello Qt窗口,到此说明成功了。


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/12524226.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2025-08-26
下一篇2025-08-26

发表评论

登录后才能评论

评论列表(0条)

    保存