QT在Windows下开发过程详解?包括配置环境和应用程序开发。哪位大侠指点一二,该如何处理
QT在Windows下开发过程详解?包括配置环境和应用程序开发。哪位大侠指点一二
我想将QT集成到Visual Studio中,可一直编译不成功,配置环境怎么这么困难?哪位曾经有过成功经验望指点一二。
------解决方案--------------------
1. 准备的安装包和工具
qt-win-opensource-src-4.5.2.zip
qt-vs-addin-1.0.2.exe
VS2008英文版
2. 将qt-win-opensource.src-4.5.2.zip解压到d:\Qt中,将修改文件夹名为qt4.5.2
3. 添加环境变量
确保你是以管理员的身份登录的系统;
在系统变量中添加变量,变量名为QTDIR,变量内容为D:\Qt\qt4.5.2;
在系统变量的Path中添加”D:\Qt\qt4.5.2\bin”例如, D:\Qt\qt4.5.2\bin;%SystemRoot%\system32;%SystemRoot%,如果Path里面已经有内容的话,用;号将新加的内容与碑内容隔开;
4. 使用Visual Studio 2008 Command Prompt,进入Microsoft Visual Studio 9.0\Common7\Tools\目录下,执行vcvarsall.bat,执行完,进入D:\Qt\qt4.5.2\bin。
5. 在Visual Studio 2008 Command Prompt中输入
configure -platform win32-msvc2008 -debug-and-release
并等上十几分钟。
6. 输入nmake,然后再等上三至四个小时,视机器的配置而定。(在nmake前务必将硬件加速调低或者设为无)
7. 不要关闭Visual Studio 2008 Command Prompt窗口,将D:\Qt\qt4.5.2\bin下的.qmake.cache和configure.cache文件拷贝到别的地方,然后在Visual Studio 2008 Command Prompt中输入命名nmake confclean
8. 将.qmake.cache和configure.cache拷贝到原处。并将安装完成后的Qt4.5.2文件夹做个备份,以免下次使用的时候还需要备份。
9. 安装qt-vs-addin.exe
10. 在VS2008中设置QT
11.
VS2008中多了一个QT选项 属性
点击Add添加QT的安装目录,这里是d:\Qt\qt4.5.2
12.开始QT程序
在VS2008中新建个QT Application工程,命名为HelloQT,新建完成后,在main.cpp中输入以下的内容
#include <QtGui/QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label=new QLabel(" Hello Qt!");
label->show();
return app.exec();
}
运行一下,可以运行结果:
------解决方案--------------------
VC最好从VC提供的控制台启动,自己打开的VC终端,可能会因为环境变量不全引起编译错误,
光设置PATH环境变量没有用。建议执行一次 vcvarsall.bat 初始化环境变量。官方终端打开的是:
%comspec% /k ""C:\software\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86
因你的VC安装目录而不同。参数除X86外,还有 amd64 x64 ia64 x86_amd64 x86_ia64等。
准备工作:
1. 下载 VC++2008 SP1 英文 express 版, 中文版可能有问题,安装好备用。
2. 下载 windows 版的 perl,当前最新版是 strawberry-perl-5.10.0.6,解压备用。
3. 下载 QT4.5.3的源码,qt-all-opensource-src-4.5.3(不是sdk那个exe),解压备用。
4. 下载OpenSSL源码,当前最新版是 openssl-0.9.8k,解压备用。
第一部分:编译OpenSSL
1. 安装perl
2. 打开带有VC2008环境的console
3. 进入到 openssl 源码树的目录
4. perl Configure VC-WIN32
5. ms\do_ms.bat
6. nmake -f ms\ntdll.mak
7. nmake -f ms\nt.mak
ntdll.mak是编译dll,nt.mak是lib,如果漏掉3,会报错。
第二部分:安装 shared build 的QT
新建 C:\Software\QT45\qt 目录,其它目录也可以,只要路径中不含空格或中文。
复制 源码目录下的 mkspecs 目录到新建的qt目录,否则会报错。
配置 shared 版:
configure -debug-and-release -platform win32-msvc2008
-no-dsp -no-vcproj -no-qt3support -qt-libpng -qt-libjpeg
-qt-libmng -qt-libtiff -qt-zlib -prefix C:\Software\Qt45\qt
-openssl -I D:\download\openssl-0.9.8k\inc32
-L d:\download\openssl-0.9.8k\out32dll -nomake translations
之前 openssl 只是编译了一下,没有安装,include目录是空的,配置的时候,要根据实际情况,给出
正确的include和lib目录。-platform 参数指出了目标编译器,在 mkspecs 下可看到非常多的编译器,
有些编译器无法编译webkit组件,有些则无法编译 phonon,vs2008是全部都可以的。
不打算开发 webkit 核心的浏览器人,建议不要编译webkit,此物极度耗时,体积也不小
光一个static配置的lib文件,release超过200M,debug接近500M。
隐藏参数 -nomake, 忽略某些buildpart,参考 tools\configure\configureapp.cpp 文件。
以下6个buildparts: libs, tools, examples, demos, docs, translations 可以忽略掉,
(translations是语言文件,忽略的话,-prefix\bin下的工具就只有英文了)
完事后编译:
nmake
完事后安装:
nmake install
openssl 源码下找 libeay32.dll 和 ssleay32.dll ,复制到 -prefix\bin。
-prefix\bin 不会自动加入到PATH环境变量,需要的话自己设置。
至此, OpenSSL 目录可以删除。正式+调试 的动态编译版QT装完,占用磁盘379M。若要卸载,
直接删除 -prefix\ 目录。QT源码目录达4G, nmake distclean ,或整个删除以节省空间。
如需接着编译静态版,OpenSSL目录勿删。
发现安装后bug一个,原因未知,不确定是QT自身问题,还是安装方式造成的。
qt demo调用的是 examples\xxx\xxx\debug或者release下的exe程序,而现在examples编译出的程序,
都不在debug或者release目录,直接在对应源码根目录下了,修改examples的pro文件可以修正错误。
我想将QT集成到Visual Studio中,可一直编译不成功,配置环境怎么这么困难?哪位曾经有过成功经验望指点一二。
------解决方案--------------------
1. 准备的安装包和工具
qt-win-opensource-src-4.5.2.zip
qt-vs-addin-1.0.2.exe
VS2008英文版
2. 将qt-win-opensource.src-4.5.2.zip解压到d:\Qt中,将修改文件夹名为qt4.5.2
3. 添加环境变量
确保你是以管理员的身份登录的系统;
在系统变量中添加变量,变量名为QTDIR,变量内容为D:\Qt\qt4.5.2;
在系统变量的Path中添加”D:\Qt\qt4.5.2\bin”例如, D:\Qt\qt4.5.2\bin;%SystemRoot%\system32;%SystemRoot%,如果Path里面已经有内容的话,用;号将新加的内容与碑内容隔开;
4. 使用Visual Studio 2008 Command Prompt,进入Microsoft Visual Studio 9.0\Common7\Tools\目录下,执行vcvarsall.bat,执行完,进入D:\Qt\qt4.5.2\bin。
5. 在Visual Studio 2008 Command Prompt中输入
configure -platform win32-msvc2008 -debug-and-release
并等上十几分钟。
6. 输入nmake,然后再等上三至四个小时,视机器的配置而定。(在nmake前务必将硬件加速调低或者设为无)
7. 不要关闭Visual Studio 2008 Command Prompt窗口,将D:\Qt\qt4.5.2\bin下的.qmake.cache和configure.cache文件拷贝到别的地方,然后在Visual Studio 2008 Command Prompt中输入命名nmake confclean
8. 将.qmake.cache和configure.cache拷贝到原处。并将安装完成后的Qt4.5.2文件夹做个备份,以免下次使用的时候还需要备份。
9. 安装qt-vs-addin.exe
10. 在VS2008中设置QT
11.
VS2008中多了一个QT选项 属性
点击Add添加QT的安装目录,这里是d:\Qt\qt4.5.2
12.开始QT程序
在VS2008中新建个QT Application工程,命名为HelloQT,新建完成后,在main.cpp中输入以下的内容
#include <QtGui/QApplication>
#include <QLabel>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
QLabel *label=new QLabel(" Hello Qt!");
label->show();
return app.exec();
}
运行一下,可以运行结果:
------解决方案--------------------
VC最好从VC提供的控制台启动,自己打开的VC终端,可能会因为环境变量不全引起编译错误,
光设置PATH环境变量没有用。建议执行一次 vcvarsall.bat 初始化环境变量。官方终端打开的是:
%comspec% /k ""C:\software\Microsoft Visual Studio 9.0\VC\vcvarsall.bat"" x86
因你的VC安装目录而不同。参数除X86外,还有 amd64 x64 ia64 x86_amd64 x86_ia64等。
准备工作:
1. 下载 VC++2008 SP1 英文 express 版, 中文版可能有问题,安装好备用。
2. 下载 windows 版的 perl,当前最新版是 strawberry-perl-5.10.0.6,解压备用。
3. 下载 QT4.5.3的源码,qt-all-opensource-src-4.5.3(不是sdk那个exe),解压备用。
4. 下载OpenSSL源码,当前最新版是 openssl-0.9.8k,解压备用。
第一部分:编译OpenSSL
1. 安装perl
2. 打开带有VC2008环境的console
3. 进入到 openssl 源码树的目录
4. perl Configure VC-WIN32
5. ms\do_ms.bat
6. nmake -f ms\ntdll.mak
7. nmake -f ms\nt.mak
ntdll.mak是编译dll,nt.mak是lib,如果漏掉3,会报错。
第二部分:安装 shared build 的QT
新建 C:\Software\QT45\qt 目录,其它目录也可以,只要路径中不含空格或中文。
复制 源码目录下的 mkspecs 目录到新建的qt目录,否则会报错。
配置 shared 版:
configure -debug-and-release -platform win32-msvc2008
-no-dsp -no-vcproj -no-qt3support -qt-libpng -qt-libjpeg
-qt-libmng -qt-libtiff -qt-zlib -prefix C:\Software\Qt45\qt
-openssl -I D:\download\openssl-0.9.8k\inc32
-L d:\download\openssl-0.9.8k\out32dll -nomake translations
之前 openssl 只是编译了一下,没有安装,include目录是空的,配置的时候,要根据实际情况,给出
正确的include和lib目录。-platform 参数指出了目标编译器,在 mkspecs 下可看到非常多的编译器,
有些编译器无法编译webkit组件,有些则无法编译 phonon,vs2008是全部都可以的。
不打算开发 webkit 核心的浏览器人,建议不要编译webkit,此物极度耗时,体积也不小
光一个static配置的lib文件,release超过200M,debug接近500M。
隐藏参数 -nomake, 忽略某些buildpart,参考 tools\configure\configureapp.cpp 文件。
以下6个buildparts: libs, tools, examples, demos, docs, translations 可以忽略掉,
(translations是语言文件,忽略的话,-prefix\bin下的工具就只有英文了)
完事后编译:
nmake
完事后安装:
nmake install
openssl 源码下找 libeay32.dll 和 ssleay32.dll ,复制到 -prefix\bin。
-prefix\bin 不会自动加入到PATH环境变量,需要的话自己设置。
至此, OpenSSL 目录可以删除。正式+调试 的动态编译版QT装完,占用磁盘379M。若要卸载,
直接删除 -prefix\ 目录。QT源码目录达4G, nmake distclean ,或整个删除以节省空间。
如需接着编译静态版,OpenSSL目录勿删。
发现安装后bug一个,原因未知,不确定是QT自身问题,还是安装方式造成的。
qt demo调用的是 examples\xxx\xxx\debug或者release下的exe程序,而现在examples编译出的程序,
都不在debug或者release目录,直接在对应源码根目录下了,修改examples的pro文件可以修正错误。