windows命令行编译QT应用程序

原文 链接:http://blog.csdn.net/sunnyboycao/article/details/5389629


1)windows下命令行编译QT程序

首先新建一个QT4的应用程序

#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();
}
保存为a.cpp,放到I:
打开qt command prompt

I:/>qmake -project -o a.pro
I:/>qmake a.pro
I:/>mingw32-make
mingw32-make -f Makefile.Debug
mingw32-make[1]: Entering directory `I:/'
g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel
oc -mthreads -Wl -Wl,-subsystem,windows -o debug/a.exe debug/a.o -L"c:/Qt/2009.
05/qt/lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4
mingw32-make[1]: Leaving directory `I:/'
I:/>cd debug
I:/debug>dir
驱动器 I 中的卷是 RamDisk
卷的序列号是 4438-2575
I:/debug 的目录
2010/01/22 21:10 DIR> .
2010/01/22 21:10 DIR> ..
2010/01/22 21:09 461,877 a.exe
2010/01/22 21:01 116,634 a.o
               2 个文件 578,511 字节
               2 个目录 64,843,776 可用字节
I:/debug>a.exe

这样就完成了编译,可以运行a.exe

 

2)顺便讲下用QT designer做好的dialog界面,如何加到程序中编译的情况

1.先用Qt designer做好界面(类似于VC的资源编辑工具),这里主要是:控件+布局

2.建立一个文件夹如:uiprg,用来装将要编译的工程和ui文件

3.把Qt designer做好的界面,保存到uiprg目录,名字如:uiprg.ui

4.建立main.cpp文件,注意包含将来UI转换后的头文件,如:ui_uiprg.h; (一般qmake会根据makefile文件调用uic生成该头文件,前面加"ui_"作为前缀)

5.打开Qt Command Prompt

6.cd到 uiprg目录

7. qmake -project生成.pro文件

8. qmake uiprg.pro

9. mingw32-make  可以看到生成的头文件和exe文件


qt for Windows命令行编译问题

原文链接:http://blog.csdn.net/rsp19801226/article/details/5539432

我用qt creator编译的代码完全能通过,但是却遇到一个小问题,就是用命令行始终无法编译成功。

不过经过半天摸索,总算解决了命令行编译的问题,虽然比较麻烦,但是也记录一下吧。

解决步骤如下:

1. 首先找到qt安装路径,我的是D:/Qt/2009.04/bin;

2. 在此路径里找到qtenv.bat文件;

3. 打开你需要建立工程的文件夹,然后将bat文件拷贝过来;

4. 打开命令行,可以在运行中输入cmd,并回车;

5. 运行qtenv命令。

6. qmake -project

7. qmake

8. mingw32-make clean(此步骤是如果编译不通过,有可能是已经被编译过则需要清除以前生成的东西)

9. mingw32-make

编译成功。可以运行了。

本来我觉得太麻烦,曾经试图在环境变量里面增加那些bin路径和include路径,但是不是很成功。

qtenv.bat文件:

@echo off
rem
rem This file is generated
rem
echo Setting up a MinGW/Qt only environment...
echo -- QTDIR set to d:/Qt/2009.04/qt
echo -- PATH set to d:/Qt/2009.04/qt/bin
echo -- Adding d:/Qt/2009.04/bin to PATH
echo -- Adding %SystemRoot%/System32 to PATH
echo -- QMAKESPEC set to win32-g++
set QTDIR=d:/Qt/2009.04/qt
set PATH=d:/Qt/2009.04/qt/bin
set PATH=%PATH%;d:/Qt/2009.04/bin;d:/Qt/2009.04/mingw/bin
set PATH=%PATH%;%SystemRoot%/System32
set QMAKESPEC=win32-g++

 

按理说我把环境变量path按以上内容增加,再增加2个环境变量QTDIR,QMAKESPEC应该能达到相同效果的,但是却没有成功。如果高手知道什么原因,请不吝赐教!感谢!!!


你可能感兴趣的:(windows命令行编译QT应用程序)