参考:
http://blog.csdn.net/libaineu2004/article/details/17363165
方案1-2 Qt4.8.6/Qt4.8.7 for Windows(Qt Creator+MinGW)
这里我增加了QT编译的过程,不过还是对该文档的原编写者表示感谢!
玩QT一段时间了,一直都是在linux下的环境,前几天突然想着可不可以在windows下来玩玩,生成的程序还能够自己在windows下玩玩!哈哈,想到这,就开始下面的工作!都是利用工作之余做的,花了几天时间吧,哈哈
1.方案选取;
形如文前参考链接中,有三种方案,我选取了方案1里的第二个方式,即用Qt4.8.6/Qt4.8.7 for Windows(Qt Creator+MinGW),需要到指定地址下载以下的软件;
安装软件版本:
a. QT库(qt-4.8.6): qt-opensource-windows-x86-mingw482-4.8.6-1.exe
b. 编译器(Mingw):i686-4.8.2-release-posix-dwarf-rt_v3-rev3
c. 调试器(gdb):qtcreator-gdb-7.4-MINGW32_NT-6.1-i686.tar.gz (这个我在这篇当中并没有应用,感兴趣的可以自己添加!)
d. qtcreator:qt-creator-opensource-windows-x86-3.0.0.exe
对应的下载地址分别是:
a. http://download.qt.io/official_releases/qt/4.8/4.8.6/
b.http://download.qt.io/development_releases/prebuilt/mingw_32/
c. http://download.qt.io/development_releases/prebuilt/gdb/windows-7/
d. http://download.qt.io/official_releases/qtcreator/3.0/3.0.0/
2.第一步下载完成后,分别安装这些QT软件到本地的指定目录下,如下:
按顺序执行下列步骤:
qtcreator:执行安装文件 ->安装在:C:\Qt\qtcreator-3.0.0;
Mingw: 解压安装文件 ->请把里面的文件夹mingw拷贝到路径C:\Qt\。
gdb: 解压安装文件 -> 请里面的文件夹qtcreator-gdb-7.4-MINGW32_NT-6.1-i686拷贝到目录:C:\Qt\;
qt-4.8.6:执行安装文件 ->安装在:C:\Qt\4.8.6_MinGW;当安装提示Find installed MinGW 时 ,请用户指向路径C:\Qt\mingw。
注:C:\Qt\的目录截图如下:
3.设置windows环境变量;
修改前请先备份当前的环境变量!!!
因为我们后来在windows下执行QT程序,可执行程序默认会从这些路径去获取所需要的头文件和库函数;
步骤:桌面 -> 属性 -> 高级系统设置->高级->环境变量->系统变量里添加为变量path添加上:C:\Qt\4.8.6_MinGw\bin;C:\Qt\mingw\bin;C:\Qt\qtcreator-3.0.0\bin
再编辑一个变量:QMAKE,路径为:C:\Qt\4.8.6_MinGW\bin,截图如下:
确定即可;
ps:我这里用的是用户变量下编辑的,因为我的电脑就是一个用户(管理者),所以等同于系统用户;如果你的电脑是多用户的,就用系统变量编辑;具体见:
http://blog.csdn.net/sxhlovehmm/article/details/44274633
4.在命令行下编译QT;
然后,为了以后能更方便的使用Qt,我们需要先编译一下。在开始菜单中,找到Qt by Digia v4.8.6 (MinGW 4.8.2 OpenSource)这个文件夹,打开,里面会有Qt 4.8.6(Build Debug Libraries)的一个批处理文件,点击后会进入windows下的DOS界面,然后根据里面的提示,根据自己的选择来编译这个库。很简单,就2步吧(第一步:o,第二步:y)。不过这个时间有点长,因为库比较大,我电脑比较慢,差不多编译了快4个小时,编译时就和linux下的命令行界面一样的,一行一行的指令往上飞。最后显示如下图,就成功了!
ps:原先在编译过程中,还出现了一个小插曲,因为Mingw4.4.0不支持QT4.8.6,我一开始下载的是4.4.0,在编译时,就提示了了错误:cc1plus.exe: error: unrecognized command line option "-fno-keep-inline-dllexport ",后来网上看了博客:链接忘记了!说是需要下载Mingw的4.8.2版本的!于是我就去下载4.8.2的了!然后就编译成功了!
5.命令行测试qt环境是否搭建成功:
到这里,windows下的Qt开发环境基本就配置好了。下面写个小程序检测环境是否搭建成功!
下面,在D:\study\Qt_Application\firstdemo目录下,用文本编辑器建立一个文件:firstdemo.cpp
写入一下测试程序:
#include <QApplication> //包含QApplication头文件
#include <QPushButton> //包含QPushButton头文件
int main(int argc, char *argv[]) // 还是标准的main函数
{
QApplication app(argc, argv); //构造应用,同MFC中的WinApp
QPushButton hello("Hello world!"); //构造PushButton
hello.resize(100, 30); //设置按钮大小
hello.show(); //显示按钮
return app.exec(); //执行应用,同MFC中的Run
}
然后打开开始菜单中的 Qt 4.8.6 Command Prompt ,
从当前目录切换到文件放的位置:
逐步输入命令:
D:
cd study\Qt_Application\firstdemo
qmake -project
qmake firstdemo.pro
make
最后,编译成功通过,会在hello文件夹下的release文件夹中生成一个.exe文件,双击执行即可。也可以在DOS下执行,进入文件夹目录,直接输入:hello.exe即可;
结果截图如下:
这里,我还列出了一些常用指令
dir 查看文件列表,同linux下的“ls”
cd 改变文件目录 “cd ..”返回到上一层 “cd \”到所在磁盘,一般为c:
del 删除一个文件
mkdir创建一个文件夹
rmdir 删除一个空文件夹
notepad xx.cpp 用记事本打开(如果没有则是创建)xx.cpp文件 也可以是.h文件
6.在qtcreator中配置运行环境;
以上步骤完成后,执行桌面快捷方式Qt Creator。
(1)进入软件->菜单->工具->选项->构建和运行->Qt版本->手动设置,添加qmake路径C:\Qt\4.8.6_MinGW\bin\qmake.exe。
(2)进入软件->菜单->工具->选项->构建和运行->编译器->手动设置,添加MinGW,并设置相应路径。
编译器路径C:\Qt\mingw32\bin\g++.exe。
(3)进入软件->菜单->工具->选项->构建和运行->调试器->手动设置,添加MinGW Debugger,并设置相应路径。
调试器路径C:\Qt\mingw32\bin\gdb.exe。
(4)进入软件->菜单->工具->选项->构建和运行->构建套件(Kit),把编译器选择为"MinGW",调试器选择"MinGW Debugger"。
Qt版本选择为"Qt 4.8.6(4.8.6_MinGW)"。
7.利用qtcreator来运行QT程序:
如果觉得使用命令行不习惯,那么就可以安装Qt creater,这是一个图形化的设计编译界面;
前面第6步已经设置好工具后,就可以使用qtcreator了;
打开qtcreator -> 建立工程 -> Application,Qt widget Application,选择->文件名为helloworld,目录为D:\study\Qt_Application,确定->下一步->下一步->下一步->完成;
helloworld.ui 添加一个textedit,内容是:helloworld;接着分别执行:
执行qmake: 菜单栏 -> build -> run qmake;
执行make: 菜单栏-> build Project“helloworld”;
执行run: 菜单栏-> run;
出现:
说明我们在windows下搭建QT-4.8.6的愿望实现了,接下来可以好好享受QT的开发之旅了!哈哈哈
PS:
加快Qt编译的速度技巧。
Qt默认的编译方式速度非常慢,可以使用多核编译的方式来提升速度。。
进入软件并打开工程后->工具栏->项目->构建和运行->把mingw32-make.exe替换为jom.exe。
设置参考链接:http://blog.csdn.net/vonger/article/details/7255599
具体步骤:
在Project ->Build中的Build Step中的Make栏 -> details ->
改成:
然后再重新qmake,make,run, 发现,果然是要快一些!哈哈
PS:原来没有执行第4步-QT编译的时候,用qtcreator写一个helloworld程序,就会提示:程序异常结束;
ps: 这个问题困扰了我好几天,后来到网上查找也没有找到可供解决的方案,很多觉得靠谱的提示大概是:库使用错误,环境变量没设对等等;看看自己的这些环境参数没设错啊,后面就看了一个博客,说是QT需要先进行编译,然后我就增加了第4步;哈哈