`

【QT】 1. 建立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
  • 大小: 51.6 KB
  • 大小: 32.7 KB
  • 大小: 32.7 KB
  • 大小: 146 KB
分享到:
评论
2 楼 luolonghao 2009-11-23  
Qt去掉examples代码编译时间缩短不少。
另外Qt好像不提供用VC编译的二进制文件,每次出新版本重新编译真是浪费时间。
1 楼 geminiyellow 2009-11-19  
……
下文呢?

相关推荐

    QT 5.12.9版本的静态编译库(32位、64位)包含 openssl库

    使用这个静态编译库,开发者无需自己配置QT和OpenSSL的编译环境,省去了安装、配置和编译的过程,大大节省了时间和精力。只需下载提供的QT5.12.9静态库,就可以直接在项目中引用,进行开发工作。 在实际应用中,...

    Kylin-Desktop-V10-GFB-Release-020-ARM64 编译完成QT5.12.12-Lenovo版本

    1、把qt5.12.12lenovo.tar.gz文件复制到系统根目录opt下给予权限 2、解压:sudo tar -xvf qt5.12.12lenovo.tar.gz 3、打开QT Creator - 工具 - Kits - Qt Vsersions 4、选择添加 文件系统opt/qt5.12.12/bin/qmake ...

    win10+Qt5.12.12+VS2019_x86编译mysql成的驱动插件

    在本文中,我们将深入探讨如何在Windows 10环境下,使用Qt 5.12.12和Visual Studio 2019_x64编译MySQL驱动插件,以供Win32(x86)应用程序使用。首先,我们要明白这个过程涉及到的主要组件及其作用。 1. **Qt 5.12....

    Qt5.12.9_mingw73_32_MySQL驱动编译插件

    Qt5.12.9,mingw73_32,MySQL驱动编译插件 Qt新版本不再提供MySql的驱动,需要自行编译, 将文件放入对应的Qt安装路径即可: .\Qt5.12.9\5.12.9\mingw73_32\plugins\sqldrivers Qt5.12.9,mingw73_32,MySQL驱动编译插件 ...

    Qt5.12.9 MinGW32bit 静态编译库(带MySQL驱动,无Qt3D、QtWebEngine)

    Windows10操作系统,使用MinGW32bit编译得到的Qt5.12.9静态库,带MySQL驱动(MySQL Server 5.7.30)。Qt应用程序使用MySQL时,需要进行相应配置。配置使用方法参考本人发布的《Windows下Qt5.12.9静态编译(mingw 32...

    Kylin-4.0.2-desktop-sp2-arm64 编译完成QT5.12.12-Lenovo版本

    QT:编译版本是QT5.12.12 测试编译QT5.12.12,亲测可用 其他设备、系统、自行测试 ---------------------------------------------------------------------------- 安装方法: 1、把qt5.12.12lenovo.tar.gz文件复制...

    QtWebEngine Qt5.12.11支持mp4,release库

    在本文中,我们将深入探讨如何在Qt环境中利用QtWebEngine来播放MP4视频,并讨论构建Release库的注意事项。 首先,让我们了解QtWebEngine的基本概念。QtWebEngine是Qt Quick和Qt Widgets模块的扩展,允许开发者在Qt...

    ubuntu20.04+Qt5.12.12+aarch64-linux-gnu交叉编译平台设置详细教程

    在本文中,我们将深入探讨如何在Ubuntu 20.04上设置一个Qt5.12.12的交叉编译环境,特别是针对aarch64架构的Linux系统。这个教程详细介绍了整个过程,包括安装所需的库,确保编译过程中没有错误,并且经过验证是可行...

    银河麒麟V10-arm64-qt5.12.8离线安装包

    银河麒麟V10-arm64-qt5.12.8离线安装包!!! 银河麒麟V10-arm64-qt5.12.8离线安装包!!! 银河麒麟V10-arm64-qt5.12.8离线安装包!!! 银河麒麟V10-arm64-qt5.12.8离线安装包!!! 银河麒麟V10-arm64-qt5.12.8离线安装包!!! ...

    qt5.9.9-webengine-mp4-x64.zip

    要使用这个编译后的版本,你需要首先解压"qt5.9.9-webengine-mp4-x64.zip",然后将包含的库文件和头文件添加到你的Qt项目环境中。通常,这涉及到更新Qt的PATH环境变量,或者在你的项目配置中指定新的库路径。这样,...

    Qt5.15.12,Window10动态库编译64位

    在Windows 10环境下,64位编译的库能够充分利用多核处理器和更大的内存空间,对于处理大数据和复杂计算的应用来说更为高效。MSVC2019是微软的现代C++编译器,它支持C++17标准及以上的特性,提供了一流的调试工具和...

    Qt5.15.12静态库-已编译版本-Windows64位-VS2019编译

    使用Visual Studio 2019编译的Qt库,意味着它与微软的开发环境高度集成,开发者可以利用VS2019的调试工具、代码编辑器和项目管理功能,方便地进行Qt应用的开发和调试。 **5. 文件结构与内容** 压缩包中的"Qt5.15.12...

    win10+Qt5.12.12+VS2019_x64编译mysql8.0生成的驱动插件

    在本文中,我们将深入探讨如何在Windows 10操作系统上,使用...通过以上步骤,你将能够在Win10环境下,利用Qt 5.12.12和VS2019 x64成功编译出适用于MySQL 8.0的驱动插件,从而实现Qt应用程序与MySQL数据库的无缝连接。

    linux QT 自动生成.h和.cpp文件的编译脚本程序

    linux QT 自动生成.h和.cpp文件的编译脚本程序

    Qt5.12.9-release_static-vs2017_x64.zip

    通过这个压缩包,开发者可以获得一个完整的、静态编译的Qt环境,方便地在Windows 64位系统上开发和测试Qt应用程序。同时,由于包含详细的文档和插件,开发者可以快速上手并利用Qt的强大功能实现各种复杂的用户界面和...

    win10+Qt5.12.12+mingw73_64编译mysql8.0生成的驱动插件

    总之,这个过程涉及了Windows 10上的Qt开发环境配置、编译工具的选择以及第三方数据库驱动的集成。通过这样的步骤,开发者可以在Qt应用中无缝地连接和操作MySQL数据库,提高开发效率。不过,要注意遵循开源软件的...

    QtCreator 4.12.4 Build on Qt5.12.9 with Mingw730 32bit

    qtcreator 4.12.4 用Qt 5.12.9库,编译工具就GCC 7.3.0 32bit编译而成。 Qt5.12是个长期支持版本。 下载后,安装方法: 把c:\qt\qt5.12.9\5.12.9\mingw73_32\bin文件夹下面所有的dll文件, 复制到c:\qt\qtcreator ...

    QT5.12.8_lib.zip

    QT5.12.8_lib.zip是一个压缩包文件,它包含了一系列专为在QT5.12环境中与MySQL 8.0数据库进行交互所需的组件。这个压缩包的重要性在于,它提供了一个便捷的方式,使得开发人员能够在他们的C++应用程序中集成数据库...

    qt5.12.0静态资源包/Visual Studio 2022 静态编译qt项目/静态与动态编译

    qt5.12.0静态资源包,不支持directx 12版本....就是静态编译出来会将相关用到的qt核心依赖库随编译一起打包出来一个exe文件,无需引入qt core等dll。动态编译要手东windeoloy ,体积几百M,静态编译只需要10M不到

Global site tag (gtag.js) - Google Analytics