linux和windows中命令行编译qt程序步骤
linux平台命令行编译
1.检查一下qmake版本(可省略)
qmake -v
which qmake
2.具体步骤
以/home/michael/program_reference/hello.cpp工程为例,
代码如下:
#include <QApplication>
#include <QLabel>
#include <QtDebug>
int main(int argc,char* argv[])
{
QApplication a(argc,argv);
QLabel label("hello");
label.show();
qDebug()<<"hell mq";
return a.exec();
}
2.1.在 hello.cpp所在目录下,运行命令:qmake -project
hello.cpp 同目录下有hello.pro文件被生成,它是与平台无关的工程文件。注:此处因为版本QT4和QT5的原因,需要修改hello.pro文件,具体修改内容如下:在.pro文件中加入以下代码:
QT += widgets core gui
2.2. 在 hello.cpp所在目录下,运行命令:qmake hello.pro
同目录下有 Makefile文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmake在win32,vc6环境)就可以完成编译)。2.3.在 hello.cpp所在目录下,运行命令:make
同目录下有 hello,hello.o两个文件被编译生成。其中 hello就是在当前 Linux 系统下使用 Qt编译生成的可执行文件了。
windows平台命令行编译
注:此方法未经本人证实
1、打开环境变量设置窗口,编辑 PATH 变量,添加如下内容:
c:/Qt/2010.02.1/bin/;
c:/Qt/2010.02.1/qt/bin/;
c:/Qt/2010.02.1/mingw/bin/
2、打开环境变量设置窗口,添加环境变量QTDIR:
变量名:QTDIR
变量值:C:/Qt/2010.02.1/qt
3、打开环境变量设置窗口,添加环境变量QMAKESPEC:
变量名:QMAKESPEC
变量值:win32-g++
4、现在已经可以进行命令行模式的编译了,例如:
a、建立一个空文件夹 hello,然后在其中建立一个空文件 hello.cpp,编辑并保存此文件。
#include QApplication>
#include QPushButton>
int main(int argc,char* argv[])
{
QApplication app(argc,argv);
QPushButton * bt = new QPushButton("quit");
QObject::connect(bt,SIGNAL(clicked()),&app,SLOT(exit()));
bt->show();
return app.exec();
}
b、在hello目录下,命令行输入运行 qmake -project,生成 hello.pro
c、在hello目录下,命令行输入运行 qmake hello.pro,生成了 makefile
d、在hello目录下,命令行输入运行 mingw32-make,生成了 hello.exe(位于 Debug 目录下)
e、进入 Debug 目录,执行 hello.exe