linux和windows中命令行编译qt程序步骤

linux平台命令行编译

1.检查一下qmake版本(可省略)

       qmake -v       

       which qmake

2.具体步骤

以/home/michael/program_reference/hello.cpp工程为例

代码如下:

  1. #include <QApplication>
  2. #include <QLabel>
  3. #include <QtDebug>
  4. int main(int argc,char* argv[])
  5. {
  6. QApplication a(argc,argv);
  7. QLabel label("hello");
  8. label.show();
  9. qDebug()<<"hell mq";
  10. return a.exec();
  11. }
编译过程如下: 

2.1.在 hello.cpp所在目录下,运行命令:qmake  -project

        hello.cpp 同目录下有hello.pro文件被生成,它是与平台无关的工程文件。

        注:此处因为版本QT4和QT5的原因,需要修改hello.pro文件,具体修改内容如下:在.pro文件中加入以下代码:

  1. QT += widgets core gui

2.2. 在 hello.cpp所在目录下,运行命令:qmake hello.pro

        同目录下有 Makefile文件被生成(Makefile是指导编译器编译源代码的配置文件,在其目录下输入make命令(nmakewin32,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

 























posted @ 2017-01-10 15:05  包谷水  阅读(8211)  评论(0编辑  收藏  举报