在命令行提示符窗口中编译运行qt程序
2017-07-14 14:24
344 查看
在命令行提示符窗口中编译运行qt程序
本博文主要内容编译过程中使用的几个重要的命令
在编译运行过程中碰到的几个常见问题及其解决方法
一、环境及源码
QT版本:QT 5.6(自带QT Creater 4.0.3)选择编译运行的quit.cpp文件内容如下:
#include <QApplication> #include <QPushButton> int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); button->show(); return app.exec(); }
二、命令编辑
打开qt的命令行提示符程序窗口然后进入quit.cpp文件所在的目录下。
- 使用qmake –project命令生成工程文件(.pro文件);
- qmake xxx.pro命令生成Makefile文件(包括Makefile, Makefile.Debug和Makefile.Release)以及两个空的文件夹(debug和release);
- mingw32-make命令生成可执行.exe文件.(默认生成Debug或者Release下的可执行文件)
其他命令:
mingw32-make -f Makefile.Debug 生成相应的debug下的可执行文件
mingw32-make -f Makefile.Release 生成相应的release下的可执行文件
三、遇到的问题及对应的解决方法
1、使用mingw32-make命令时,无法生成可执行文件,显示QApplication:No such file or directory。解决方法
修改工程文件即quit.pro文件,添加划线部分内容:
若还是无法编译成功再检查系统变量的设置:
在qt4的版本中,使用QT进行命令行编译,必须要进行系统环境变量配置,否则无法使用相应的qmake,make等命令,并且要链接到编译程序时所需要的头文件和库文件。但是在qt5.6版本(qt5的其他版本没有测试过)中,命令行提示符程序启动后会自动调用qt安装目录下的批处理文件qtenv2.bat设置环境变量,包括qmake和mingw32-make命令的目录,就无需自己再设置环境变量。
在path变量中添加两个路径
D:\Qt\Qt5.6.2\5.6\mingw49_32\bin;
D:\Qt\Qt5.6.2\Tools\mingw492_32\bin
新建一个系统变量QMAKESPEC,变量值为win32-g++(目前未发现该系统变量的作用,不添加的话也不影响程序的运行)
2、直接点击可执行的.exe文件无法执行,错误显示无法启动此程序,因为计算机中丢失Qt5Core.dll。
解决方法
出现这个问题是因为运行程序无法找到对应的dll文件。一种解决方法是到qt的安装目录下找到相应的dll文件并复制到当前项目的release(或者debug)文件夹中。另一种是按上述问题1的解决方法设置系统环境变量。
3、系统环境变量设置好后点击.exe可执行文件显示错误:无法定位程序输入点xxx于动态链接库上。
解决方法
发生该错误的可能原因是之前安装过类似的编译器(mingW编译器)并且在系统变量path中已经有它的路径存在,如下
只需要删除该冲突的编译器在系统变量path中的路径值就可以了。
四、编译运行结果
1、在qt的命令行提示符窗口中编译成功并运行的结果2、直接在windows的命令行提示符程序窗口中运行(要在系统的命令提示符程序窗口中运行必须要设置上述环境变量,否则出现上述的第二个问题)
参考:Qt怎样采用命令行提示符程序进行程序编译
相关文章推荐
- Visual Studio编译Qt程序隐藏命令行窗口
- 关于在eclipse中编译后的java小程序如何在命令行窗口运行的说明
- Windows XP 下使用命令行编译、运行 QT4 程序
- 在windows直接运行Qt编译出来的可执行程序出现了如下提示错误: this application has requested the runtime to terminate it an unu
- 【Qt学习笔记】在Qt编译好之后运行程序时提示:程序异常结束。The process was ended forcefully. ....exe crashed.
- Windows XP 下使用命令行编译、运行 QT4 程序
- QT_openCV2.4.9或相关版本编译正常,运行时提示“程序异常结束”问题分析
- QT4.7.1以及QT create编译Ubuntu x86 pc运行程序提示g++ commond no find错误
- 在windows直接运行Qt编译出来的可执行程序出现了如下提示错误: this application has requested the runtime to terminate it an unu
- 《C++Primer》读书笔记之---Windows下通过命令行窗口编译运行C++程序的尝试
- VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
- 【原】解决VS2008编译的程序在某些机器上运行提示“由于应用程序配置不正确,应用程序未能启动”的问题
- linux和windows中命令行编译qt程序步骤
- 如何使用命令行编译运行java程序
- 1.4.Qt通过命令行编译运行程序注意事项
- VS2008 Debug模式下编译完程序运行时提示"没有找到MSVCR90D.dll..."的解决办法
- C++程序编译运行后窗口一闪而过问题
- 命令行编译与运行java程序
- vs2015+Qt5.7编译生成的程序在xp中运行提示不是有效的win32程序解决方案
- 在窗口中执行mysql命令时,如果提示:mysql不是内部或外部命令,也不是可运行的程序或批处理文件