Windows XP 下使用命令行编译、运行 QT4 程序

news/2024/7/10 4:28:38 标签: windows, xp, qt, 2010, path, include

 http://hi.baidu.com/2young22/blog/item/a1f4b7f5c03c97d5f3d3859d.html

 

Windows XP 下使用命令行编译、运行 QT4 程序
2010-06-01 22:13

在Windows XP 下如何安装QT4开发环境?请参考“Windows XP 下安装 QT4 开发环境”一文。

 

在本文中,将介绍在无IDE情况下,如何编译和运行QT4程序?

 

安装好QT4后,选择“开始”菜单中的“程序->QT SDK by Nokia v2010.2.1 (open source)->QT Command Prompt”,弹出如下所示命令窗口:


在QT4安装目录D:\Qt\2010.02.1(以读者安装QT4的目录而定)下新建一个目录QProjects,然后再Qprojects目录中新建一个QT4工程hello,最后在hello目录下新建一个hello.cpp,其内容如下所示:

#include <QApplication>

#include <QLabel>

 

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

    QApplication app(argc, argv);

 

    QLabel *label = new QLabel;

    label->setText("<center><h1>Hello World!</h1></center>");

    label->setWindowTitle("QT");

    label->resize(200, 50);

    label->show();

 

    return app.exec();

}

 

现在开始在QT Command Prompt 窗口中进行操作。

 

1.      首先使用cd命令切换到hello目录中;

>cd D:\Qt\2010.02.1\QProjects\hello

 

2.      生成一个空*.pro文件;

>qmake –project


3.      生成Makefile、Makefile.Release、Makefile.Debug文件以及debug和release目录;

>qmake


4.      编译程序;

>mingw32-make debug

mingw32-make -f Makefile.Debug

mingw32-make[1]: Entering directory `D:/Qt/2010.02.1/QProjects/hello'

g++ -c -g -frtti -fexceptions -mthreads -Wall -DUNICODE -DQT_LARGEFILE_SUPPORT -

DQT_DLL -DQT_GUI_LIB -DQT_CORE_LIB -DQT_THREAD_SUPPORT -DQT_NEEDS_QMAIN -I"..\..

\qt\include\QtCore" -I"..\..\qt\include\QtGui" -I"..\..\qt\include" -I"." -I"..\

..\qt\include\ActiveQt" -I"debug" -I"..\..\qt\mkspecs\win32-g++" -o debug\hello.

o hello.cpp

g++ -enable-stdcall-fixup -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-rel

oc -mthreads -Wl -Wl,-subsystem,windows -o debug\hello.exe debug/hello.o  -L"d:\

Qt\2010.02.1\qt\lib" -lmingw32 -lqtmaind -lQtGuid4 -lQtCored4

mingw32-make[1]: Leaving directory `D:/Qt/2010.02.1/QProjects/hello'

 

5.      运行程序。

使用如下命令切换到debug目录中,并运行可执行程序:

>cd debug

>hello

 

到此为止,我们在无IDE的情况下,成功地编译和运行一个QT4程序。

 

为了方便大家在无IDE的情况下,更好地学习QT4程序设计,笔者自己写了一个批处理脚本,供大家学习参考(请使用文本编辑器编辑,编辑完毕另存为compile.bat):

compile.bat 批处理脚本的内容:

@echo off

echo Setting up a MinGW/Qt only environment...

echo -- QTDIR set to D:\Qt\2010.02.1\qt

echo -- PATH set to D:\Qt\2010.02.1\qt\bin

echo -- Adding D:\Qt\2010.02.1\bin to PATH

echo -- Adding %SystemRoot%\System32 to PATH

echo -- QMAKESPEC set to win32-g++

set QTDIR=D:\Qt\2010.02.1\qt

set PATH=D:\Qt\2010.02.1\qt\bin

set PATH=%PATH%;D:\Qt\2010.02.1\bin;D:\Qt\2010.02.1\mingw\bin

set PATH=%PATH%;%SystemRoot%\System32

set QMAKESPEC=win32-g++

@echo on

qmake -project

echo *pro is generated

echo

qmake

echo Makefile Makefile.Release Makefile.Debug debug and release are generated

echo

mingw32-make debug

echo please change dir to the debug directory

pause

 

附:如果在debug目录下点击可执行文件hello.exe,无法运行,则需要在系统属性对话框中设置如下环境变量。

PATH=%PATH%;D:\Qt\2010.02.1\qt\bin;D:\Qt\2010.02.1\bin;D:\Qt\2010.02.1\mingw\bin

 


 


http://www.niftyadmin.cn/n/790263.html

相关文章

java中的反射(不讲概念,只是怎么用)

反射作用于分析类 要想分析一个类&#xff0c;必须有这个类的元数据&#xff0c;java中描述类的元数据的类是Class类&#xff0c;元数据就是类自己的数据 要想得到Class类对象&#xff0c;可以有多种方法 1、通过Class.forName加载类 2、通过对象.getClass 1、基础类 下面的所有…

C++ 开发中自定义调试信息的输出方法

http://tech.ccidnet.com/art/32367/20091201/1950957_1.html C 开发中自定义调试信息的输出方法 发布时间&#xff1a;2009.12.01 15:39 来源&#xff1a;转载 作者&#xff1a; 调试信息的输出方法有很多种, 例如直接用printf, 或者出错时使用perror, fprintf等将信…

Wifidog初分析

一、综述 wifidog是搭建无线热点认证系统的解决方案之一&#xff0c;他比nocat、nodog更适合互联网营销思路。常见的使用在openwrt系统上&#xff0c;它实现了路由器和认证服务器的数据交互&#xff0c;在路由器方&#xff08;客户端&#xff09;是用C 语言代码&#xff0c;通过…

Hbase异常(无法定位登录配置)

[colorgreen][sizelarge][b]散仙&#xff0c;最近再用Sqoop从Mysql数据库里向Hbase里导入数据&#xff0c;导入成功后&#xff0c;在eclipse上使用Java Hbase API的连接集群&#xff0c;打印所有数据&#xff0c;结果一运行程序&#xff0c;日志显示无法定位登录配置&#xff0…

warning: shared library text segment is not shareable

warning: shared library text segment is not shareable error: treating warnings as errors 近期在调试一个Gsensor&#xff0c; 代码是从android4.2上直接移植过来的。但却一直编译只是&#xff0c; 纳闷了。。。 baidu不行 google 又訪问不了&#xff0c;真是操蛋 可是终…

kafka安装在虚拟机上的步骤(一)

网上的安装步骤五花八门&#xff0c;最后总算安装测试成功了&#xff0c;这里的虚拟机为CentOS7为例 一定要下载Xftp和Xshell&#xff0c;这两个就是神器&#xff0c;怎么运用可以百度 下面所有下载的东西不建议镜像虚拟机上下载&#xff0c;太慢了&#xff0c;下载下来用Xftp传…

数据迁移工具sqoop入门

[b][colorolive][sizelarge]首先&#xff0c;先简单说明下sqoop是什么&#xff0c;sqoop 即 SQL to Hadoop &#xff0c;是一款方便的在传统型数据库与Hadoop之间进行数据迁移的工具&#xff0c;充分利用MapReduce并行特点以批处理的方式加快数据传输&#xff0c;发展至今主要演…

关于iOS APP中网络层的设计

在iOS开发中&#xff0c;请求网络数据&#xff0c;处理获得的数据是很常见的功能&#xff0c;但是很少有资料会讨论关于网络的处理应该放在MVC中得哪个层中。 我在网上Google了一番&#xff0c;记下了几个觉得比较不错的链接。现记录如下&#xff1a; http://stackoverflow.com…