【QT】 1. 建立QT编译环境_C/C++_编程开发_程序员俱乐部

中国优秀的程序员网站程序员频道CXYCLUB技术地图
热搜:
更多>>
 
您所在的位置: 程序员俱乐部 > 编程开发 > C/C++ > 【QT】 1. 建立QT编译环境

【QT】 1. 建立QT编译环境

 2010/11/19 9:18:39  ray_linn  http://raylinn.javaeye.com  我要评论(0)
  • 摘要:1.什么是QT?Qt是一个多平台的C++图形用户界面应用程序框架,它和Microsoft的MFC,以及Microsoft捐献给OpenSource的WTL类库一样,为应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用程序的基础。Qt也是流行的Linux桌面环境KDE的基础,KDE是所有主要的Linux发行版的一个标准组件。Qt支持下述平台
  • 标签:建立QT编译环境
1. 什么是QT?

Qt是一个多平台的C++图形用户界面应用程序框架,它和Microsoft的MFC,以及Microsoft捐献给OpenSource的WTL类库一样,为应用程序开发者建立艺术级的图形用户界面所需的所用功能。Qt是完全面向对象的,很容易扩展,并且允许真正地组件编程。

自从1996年早些时候,Qt进入商业领域,它已经成为全世界范围内数千种成功的应用 程序的基础。Qt也是流行的Linux桌面环境KDE 的基础,KDE是所有主要的Linux发行版的一个标准组件。Qt支持下述平台:

  • MS/Windows –从Windows 95之后的大部分Windows版本
  • Unix/X11 – Linux、Sun Solaris、HP-UX、Compaq Tru64 UNIX、IBM AIX、SGI IRIX和其它很多X11平台
  • Macintosh – Mac OS X
  • Embedded – 有帧缓冲(framebuffer)支持的Linux平台。


2. 为什么学习QT?

长期以来困扰QT发展的是其授权问题,但是Nokia在发布QT 4.5版本的同时,第一次允许LPGL
授权,这意味着你可以用QT开发自有知识产权的商业闭源软件。因此QT成为Linux桌面应用开发的首选类库,同时也是Windows桌面应用开发的重要补充。关于QT与MFC,WTL的比较,详细另述。

3. 建立QT开发环境。

通常来说 ,QT的源代码可以不加修改的在各种平台上编译并且可能效果一致,(事实上,错误在所难免),因此我个人倾向选择Windows平台,并用Visual studio或者免费的Visual studio Express作为QT的开发环境。

首先你至少要已经安装了visual studio或者visual studio Express,免费的Express版可以从这里下载,它和Visutal studio有着一致的操作界面。安装之后,你同时也就安装了VC++ SDK。

编译QT Source需要用到MingW的头文件,MingW提供了一套Windows下的GNU的工具集,其中的W32api.h是我们需要头文件,MingW项目提供了方便的在线安装,下载并运行MingW-5.16.exe,组件只需选择G++ compiler和MingW Make,所需的头文件将安装在“C:\MingW” 目录下。



Nokia提供了2个版本的QT下载,QT SDK和QT Source,推荐下载QT Source,这个包要小一些。QT source是个自解压的文件安装包,解压过程中会要求输入MinGW的路径,输入入"C:\MinGW",接着它会提示W32API.h的版本不对,直接忽略该提示,我个人习惯把QT解压到"C:\QT"。

4.6之后,QT的源文件以压缩包的方式提供,可以省略下MingW这些步骤了。

到此,编译QT的所有环境已经准备就绪了。

打开Visual Studio 2008的Commond prompt,(一般在Visual studio tools里头)接下来要运行一系列命令:

1. 在根目录下创建目标文件夹QT4 ( md qt4)
2. 切换到QT目录 (cd qt)
2. 将QT目录的mkspecs子目录拷贝到QT4里 (xcopy mkspecs /s c:\qt4\mkspecs)
4. 运行配置: configure -debug-and-release -prefix "C:\QT4"
5. 运行VC++的nmake命令
6. 安装nmake install

整个编译过程可能要持续10个小时,所以最好是在睡觉前执行编译命令!编译过程大概需要6G硬盘空间,请预留足够空间。6个步骤执行完之后,在QT4目录下就得到所需的QT发布版。你会发现许多名字类似的文件,其中有些带有"d"的为debug版。

如果你想节约磁盘空间,这时可以卸载掉QT source和MingW,并删除QT和MinGW目录。得到的QT发布版大概有400多M.

接着需要设置一下环境变量:

Set QTDIR=C:\QT4
Set PATH=%QTDIR%\bin;%PATH%

如图:




Nokia提供了一个Visual Studio的插件,目前版本是1.1.1,下载并安装。这个插件写得并不好,安装之后会有许多奇怪奇怪的问题:

1. Can not find a QT build之类的问题,通常是插件安装过程中,未正确更新注册表导致的。如果你的安装路径和我介绍的一致,则可以直接导入这个注册表来修复问题。否则需修改最后几行的安装路径。


2. 打开Visual studio的QT菜单中的QT option,报告无法取得QT版本的错误,解决方法是在C:\QT4的目录下创建一个空的文件叫“.qmake.cache”,注意文件是以"."开头的,该文件无需实际内容。



建立一个空白的QT项目并试着运行之。如果一切正确的话,你的Visual Studio应该看起来象这样:




至此你已经完全建立QT的运行环境,可以从Visual studio的向导里创建你自己的QT项目了!


创建项目中常见问题解决办法

1. 在win 7上,VS2008在编译项目过程中可能出现:
error c101008d: Failed to write the updated manifest to the resource of file,
解决方法 <1> :在项目属性->manifest tools->input and output选项卡中embed manifest的值改成NO.
解决方法 <2> :下载VS 2008 SP1 大概800多M.



4.6.2编译错误

The errors appear in the following files (the two files are identical, and the errors need to be fixed in each):

%QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h
%QTDIR%\qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\StructureTransitionTable.h
Here are the errors and how to fix them:

%QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h(146) : table()->add(key, Transition(structure, 0));
Change it to table()->add(key, Transition(structure, nullptr));
%QTDIR%\qt\src\3rdparty\webkit\javascriptcore\runtime\StructureTransitionTable.h(153) : table()->add(key, Transition(0, structure));
Change it to table()->add(key, Transition(nullptr, structure));
Make the same two changes for %QTDIR%\qt\src\3rdparty\javascriptcore\JavaScriptCore\runtime\StructureTransitionTable.h
发表评论
用户名: 匿名