Qt5.5.1编译说明
VS2013-Qt5.5.1-动态编译-VTK7.0.0
这是系列文章的第1/7篇1. VS2013-Qt5.5.1-动态编译-VTK7.0.02. VS2013-MPI v7-静态编译-Boost1.6.13. VS2013-编译-Qhull2015.24. VS2013-编译-FLANN1.8.45. VS2013-编译-Eigen3.2.86. OpenNI2.2.0.33下载和安装7. VS2013-Qt5.5.1-VTK7.0.0-Boost1.6.1-Qhull2015.2-FLANN1.8.4-Eigen3.2.8-OpenNI2.2.0.33-动态编译-PCL1.8.0此次编译VTK7.0.0,采用VS2013,在X64下编译debug和release两个版本,所依赖的Qt版本是5.5.1(msvc2013_64).下载VTK1.从VTK官网下载源码包,本文下载的是VTK-7.0.0.zip.两个压缩文件内容应该是一样的,只不过zip是全平台通用(windows也能解压),tar.gz是linux 下通用的压缩文件格式(windows下安装解压软件后也能解压).2.解压VTK,本文解压到下列路径:下载CMake1.从CMake官网下载CMake,本文下载的是cmake-3.5.2-win32-x86.zip.2.解压CMake,本文解压到下列路径:下载Qt1.从Qt官网下载并安装Qt5.5.1 for vs2013,Online Installer或者Offline Installer都可以.它们俩是对Qt的完全安装(包括源码),如果只需要源代码,该页面也提供了下载,自行寻找.2.本文安装到下列路径:注意:如果电脑中安装了多个版本的Qt,最好只把需要依赖的Qt版本加入环境变量.否则CMake会自动搜索,并自动设置目录,如果目录不是期望的,手动改很烦.本文把Qt加入了环境变量,即path = D:\Qt\5.5.1\5.5\msvc2013_64\bin;总之,CMake会自动在电脑中搜索并设置很多东西,如果你想引导CMake的自动搜索,最好的办法就是添加环境变量.还有一种方法是CMake界面,在执行Configure前,手动Add Entry.准备工作做好后,就可以着手编译VTK了Step1打开cmake-gui.exe,它位于cmake-3.5.2-win32-x86\bin目录下.Step2设置源码路径(就是包含"CMakeLists.txt"的路径):你源码解压至哪里,就设置哪里.如图:设置构建路径:CMake会在该路径下,生成solution(针对VS),打开sln就可以编译出结果,所有编译结果都在该目录下.如图:Step3勾选CMake界面上的Grouped和Advanced,Grouped是对配置分组,Advanced是显示高级配置.这两个复选框,什么时候点击都可以.Step4点击Configure.CMake要求选择编译器,根据实际需求选择即可,本文选择如下,然后CMake开始生成配置.等待CMake把配置生成完毕后,就需要对CMake自动生成的配置进行修改.所有红色显示的配置,都是需要用户确认的配置或者有问题的配置,在默认配置上进行如下修改:1.BUILD_SHARED_LIBS 选中,构建动态库版本,即既有lib,又有dll.2.VTK_Group_Qt 选中,使用Qt.3.CMAKE_INSTALL_PREFIX 修改为D:/VTK/7.0.0/msvc2013_64这个目录可以自行指定,当VTK编译完成后,安装时,会将VTK安装到指定的目录,强烈建议修改此目录.4.INSTALL_BIN_DIR 修改为D:/VTK/7.0.0/msvc2013_64/binINSTALL_INC_DIR 修改为D:/VTK/7.0.0/msvc2013_64/includeINSTALL_LIB_DIR 修改为D:/VTK/7.0.0/msvc2013_64/libINSTALL_MAN_DIR 修改为D:/VTK/7.0.0/msvc2013_64/share/manINSTALL_PKGCONFIG_DIR 修改为D:/VTK/7.0.0/msvc2013_64/share/pkgconfig上面配置修改完后,点击Configure,会报错,点ok即可.Step6VTK_QT_VERSION 修改为5修改完之后, 点击Configure.下面7项,如果环境变量正确,应该自动填好了,不需要修改.QT_QMAKE_EXECUTABLE 修改为D:/Qt/5.5.1/5.5/msvc2013_64/bin/qmake.exeQt5_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Qt5Core_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5CoreQt5Gui_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5GuiQt5Sql_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5SqlQt5UiPlugin_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5UiPluginQt5Widgets_DIR 修改为D:/Qt/5.5.1/5.5/msvc2013_64/lib/CMake/Qt5Widgets直接点击Configure.Step8点击Add EntryName:CMAKE_DEBUG_POSTFIXType:STRINGValue:dDescription:可以为空如下图:这样可以让debug版本编译出二进制文件,带有后缀d.以便和release版本编译出的二进制文件相区分.强烈建议这么做.添加之后,点击Configure.如果还有配置是红色,点击Configure,直到没有配置为红色.之后点击Generate.Step10生成完成之后,CMake就可以关了.找到构建目录下的\GUISupport\Qt\PluginInstall.cmake文件,打开它,把第五行:SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugin.dll")修改为:IF(BUILD_TYPE MATCHES Debug)SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugind.dll")ELSE()SET(VTK_INSTALL_QT_PLUGIN_FILE "QVTKWidgetPlugin.dll")ENDIF()然后保存,并关闭文件.不修改,debug下install报错,但如果你能理解编译过程,并看懂错误,这个错误其实没什么大不了.同样是为了区分D版和R版的dll.D版带有后缀d.用VS打开构建目录下的VTK.sln解决方案.等待IDE解析,解析完成后,状态栏会显示就绪.解析过程比较耗时,耐心等待VS解析完成.当然,可以不用等待解析完成,直接构建.*如果装有VX等插件,建议打开VTK.sln之前禁用VX插件,否则解析可能会很慢,VS可能卡死. Step12确保ALL_BUILD为启动项目(如果没出问题,它应该就是启动项目).选择ALL_BUILD项目,点击生成编译过程比较耗时,具体时间,取决于电脑性能(主要是CPU,然后是硬盘).Step13Step12生成成功之后,就可以安装VTK了,右击INSTALL项目,选择仅生成INSTALL.然后就开始安装VTK了,安装完成,就可以在之前设置的prefix目录下看到安装之后的VTK.如果Step12-13生成的是debug版本,切换成release,重复12-13即可生成并安装release版本.*建议,要么只安装R版;要么先安装D版,再安装R版.因为后安装的版本,会覆盖同名的文件. 注意CMake的generate依赖编译器默认设置,对VS2013来说.如果你之前对全局属性表做过设置,建议恢复原状,否则可能出现莫名其妙的错误.禁用语言扩展必须为否.如图:编译器设置恢复默认,最简单的办法,就是把自定义的属性页全部移除,VS自带属性页全部恢复默认.VTK安装目录分析注意:下面说明,在没有编译test时成立,编译了test后dll,lib,pdb数量会多出一些.[bin]文件夹中,D/R版本各有109个dll和2个exe.dll一一对应,但内容不一样.exe同名,但内容不一样.[lib]文件夹中,D/R版本各有109个动态lib和1个静态lib.vtksqlite-7.0.lib和vtksqlite-7.0d.lib是静态库,没有dll,也没有为它生成pdb.lib一一对应,但内容不一样.[lib]文件夹中,有个CMake文件夹,D/R版本的内容完全一样.除了VTKTargets-debug.CMake和VTKTargets-release.CMake.[include]文件夹中,D/R版本的内容完全一样.CMake文件夹中,D/R版本的内容完全一样.plugins文件中,D/R版本都有一个designer文件夹,各有一个dll.dll一一对应,但内容不一样.Qt设计师真正需要的是R版本dll.share文件中,D/R版本的内容完全一样.install在复制内容时,如果检测到同名且内容一样的文件,直接跳过,不复制;检测到同名但内容不一样的文件,覆盖;未检测到同名文件,复制.install不会复制pdb文件,如果需要pdb,则只能手动复制.D版本生成的pdb中,除了那109个dll对应的pdb,还有额外的6个pdb,分别是lproj.pdbQVTKWidgetPlugind.pdb[vtkEncodeString-7.0.pdb]vtkH5detect.pdbvtkH5make_libsettings.pdb[vtkHashSource-7.0.pdb]其中QVTKWidgetPlugind.pdb对应的是QVTKWidgetPlugind.dll,它是Qt设计师的插件. 另外5个PDB对应的都是exe,其中[]括起来的pdb对应的exe被复制到[bin]目录下了. 所以如果真的需要使用pdb,仅仅复制那109个dll对应的pdb到安装目录的[bin]即可.。
qt编译步骤
QT的编译步骤:QT是一种强大的跨平台软件开发框架,它的编译步骤涉及到多个阶段。
以下是QT编译的详细步骤:1. **生成解决方案**:在开始编译之前,你需要使用qmake工具生成项目文件。
在终端中进入项目目录,然后执行`qmake -project`命令。
这个命令会检查项目文件(通常是.pro文件)中的信息,并生成一个解决方案文件(通常是er文件)。
这一步是必要的,因为它能帮助你管理项目的各种设置和依赖关系。
2. **生成Makefile文件**:一旦解决方案文件生成,你就可以运行`qmake`命令来生成Makefile文件。
这个文件包含了编译器和连接器的参数选项,以及源代码文件的依赖关系。
Makefile文件是构建过程中的核心,它告诉构建系统如何编译和链接你的代码。
3. **构建项目**:接下来,你需要使用构建工具(如make)来执行Makefile文件中的指令,开始构建你的项目。
这个过程会编译你的源代码文件,并生成目标文件(通常是.o文件)。
同时,它还会运行Qt的元对象编译器(moc)来处理Qt特有的代码,以及用户界面编译器(uic)来处理UI文件。
这个过程是增量编译的,这意味着只有那些发生变动的文件会被重新编译,从而提高构建效率。
4. **生成可执行文件**:最后,通过连接器将所有的目标文件和库文件连接在一起,生成最终的可执行文件(通常是.exe文件)。
在这个阶段,你也可以选择生成调试版本或发布版本的可执行文件。
5. **运行可执行文件**:最后,你可以运行生成的可执行文件来测试你的应用程序。
如果一切顺利,你的应用程序应该能够成功运行。
通过遵循这些步骤,你应该能够成功地使用QT进行编译和运行你的应用程序。
请注意,这些步骤可能会根据你的具体需求和开发环境有所不同。
如果你在编译过程中遇到任何问题或困难,可以查阅QT的文档或寻求社区的帮助。
qt 源码 编译
qt 源码编译
QT是一种跨平台应用程序开发框架,可以用来开发GUI应用程序、命令行工具和网络应用程序。
QT源码可以在官网上下载,但是如果想要将其编译成可执行文件,需要进行一定的配置和编译。
下面将介绍如何编译QT源码。
首先,需要下载QT源码包,并解压到本地目录中。
在解压后的目录中,会看到一个“configure”文件,这是QT的配置文件。
在终端中进入QT源码目录,然后执行如下命令:
./configure
执行该命令后,会检查编译环境,如果缺少必要的依赖包,会提示需要安装哪些依赖包。
需要根据提示安装相应的依赖包。
当所有的依赖包都安装完成后,重新执行上述命令。
这次会进入QT的配置界面,可以根据需要进行配置。
一般情况下,可以直接按回车键使用默认配置。
但如果需要更改某些选项,可以按照提示进行配置。
配置完成后,执行如下命令进行编译:
make
这条命令会将QT源码编译成可执行文件,需要一定的时间。
如果出现编译错误,可以查看终端中的错误信息,根据错误信息进行修复。
修复完成后,重新执行make命令。
编译完成后,执行如下命令进行安装:
make install
该命令会将QT安装到系统目录中,以供其他程序使用。
以上就是QT源码编译的基本流程。
需要注意的是,编译QT需要一定的编译环境和依赖包,如果缺少相关依赖包,编译过程会出现错误。
此外,编译过程中可能会出现一些错误,需要仔细查看错误信息进行修复。
但是,一旦编译成功,就可以使用QT框架来开发自己的应用程序了。
VS2013+Qt5.5.1+opencv2.4.11
vs2013+Qt5.5.1+opencv2.4.11配置一、准备配置下载并安装vs2013下载路径: /s/1i3rralf下载并安装Qt5.5.1:下载路径:/s/1sjnCROp下载qt-vs-addin-opensource-1.2.3-alpha.exe:下载路径:/s/1pJOUCwN二、开始配置1、安装qt-vs-addin-opensource-1.2.3-alpha.exe。
安装成功后vs2013的菜单栏上会多出一个Qt5的选项2、选择QT5->Qt Options,将Qt下msvc2013的路径添加进来3、新建一个项目点击属性管理器->Debug|Win32->er->C/C++->常规,选择附加包含目录添加Qt下的Include文件路径,我的是D:\StudyProgram\QT5_5_1\5.5\msvc2013\include4、添加Opencv和Qt的库文件具体操作如下:选择VC++目录添加可执行文件目录、包含目录、库目录(注意:opencv库文件最好选择x86使用x64版本在编译时可能会提示错误。
vs2012对应VC11,vs2010对应vc10,vs2013对应vc12。
)可执行文件: D:\StudyProgram\OpenCV2_4_11\opencv\build\x86\vc12\bin包含目录: D:\StudyProgram\OpenCV2_4_11\opencv\build\includeD:\StudyProgram\OpenCV2_4_11\opencv\build\include\opencvD:\StudyProgram\OpenCV2_4_11\opencv\build\include\opencv2库目录: D:\StudyProgram\OpenCV2_4_11\opencv\build\x86\vc12\libD:\StudyProgram\QT5_5_1\5.5\msvc2013\lib选择链接器->输入添加附加依赖项。
qt5源码编译
qt5源码编译QT5(Qt5 Development Kit)是一种多平台开发框架,使用C ++编写,它可以让开发人员使用同一代码库为不同的平台开发图形界面应用程序。
在这篇文章中,我们将学习如何编译QT5源码。
以下是步骤:步骤1:下载源代码您可以通过访问QT5官方网站(www.qt.io)来下载源代码。
在下载页面上选择“源代码”,然后根据您的需求选择合适的版本号。
步骤2:安装依赖项在编译QT5源代码之前,需要安装一些依赖项。
您可以使用下面的命令来安装以下依赖项:sudo apt-get install build-essential libfontconfig1-dev libdbus-1-dev libfreetype6-dev libicu-dev libinput-dev libxkbcommon-dev libsqlite3-dev libssl-dev libpng-devlibjpeg-dev libglib2.0-dev libavcodec-dev libavformat-dev libswscale-dev libx11-dev libxext-dev libgl1-mesa-devlibglu1-mesa-dev libgl-dev步骤3:解压源代码您可以将下载的QT5源代码解压到任何位置,例如/home/user/qt5。
然后,使用终端应用程序进入该文件夹。
步骤4:设置配置文件创建一个名为“qt5Config.conf”的新文件,并使用命令打开它:nano qt5Config.conf复制以下代码并将其粘贴到文件中:./configure -no-sql-sqlite -nomake examples -nomake tests -opensource -confirm-license保存并关闭文件。
步骤5:构建和安装现在,您可以使用以下命令开始构建QT5源代码:./configure -prefix /opt/Qt5makesudo make install此步骤将花费一段时间,具体时间取决于您的计算机速度。
QT5静态编译工程(arm交叉编译)
QT5静态编译⼯程(arm交叉编译)1、⾸先,QT编译环境默认是动态库,要编译静态程序是不可能的,所以要下载QT源码,重新编译QT编译环境2、下载QT源码(5.13版本):http://download.qt.io/development_releases/qt/5.13/5.13.0-rc/single/qt-everywhere-src-5.13.0-rc.tar.xz3、编译QT前需先配置交叉编译器: 解压源码后,进⼊源码的qtbase/mkspecs/linux-arm-gnueabi-g++⽬录,编辑⾥⾯的qmake.conf⽂件: 将⽂件⾥的arm-linux-gnueabi-都改为你⽤的交叉编译器(带路径,如果不带路径则需设置好PATH变量)⽐如改为:arm-linux-gnueabihf-4、⽤静态⽅式编译并安装QT 在源码⽬录下执⾏如下命令: ./configure -v -prefix /home/wch/Qt-5-arm -static -release -opensource -confirm-license -xplatform linux-arm-gnueabi-g++ -no-accessibility -no-dbus -no-openssl -no-opengl -no-glib -no-iconv -no-xcb -no-pch -no-compile-examples -no-pkg-config -skip qtquickcontrols -skip qtquickcontrols2 -skip qtsensors -skip qtdoc -skip qtwayland make make install 其中/home/wch/QT-5-arm是安装⽬录,根据你的情况指定;-static是指定为静态编译;-xplatform linux-arm-gnueabi-g++是说明⽬标平台是arm,其它参数根据⾃⼰的情况⾃⾏修改,各参数的含义可以⽤./configure --help命令查看 经过上⾯三步,就在指定的/home/wch/QT-5-arm⽬录下⽣成的QT的编译环境,该环境的bin⽬录下有qmake程序。
Qt5开发及实例(第2版)-第5章Qt
void ImgProcessor::ShowOpenFile() { fileName =QFileDialog::getOpenFileName(this); if(!fileName.isEmpty()) { if(showWidget->text->document()->isEmpty()) { loadFile(fileName); } else { ImgProcessor *newImgProcessor =new ImgProcessor; newImgProcessor->show(); newImgProcessor->loadFile(fileName); } } }
5.1.3 菜单与工具栏的实现
将程序中用到的图片保存到该工程下的debug文件夹中,运行程序,结果如 图5.3所示。
5.2 Qt 5文件操作功能
5.2.1 新建文件
下面将介绍如何实现新建一个空白文件的功能。 (1)打开“imgprocessor.h”头文件,添“protected slots:”变量: protected slots: void ShowNewFile(); (2)在createActions()函数的“"新建"动作”最后添加事件关联: connect(NewFileAction,SIGNAL(triggered()),this,SLOT(ShowNewFile())); (3)实现新建文件功能的函数ShowNewFile()如下: void ImgProcessor::ShowNewFile() { ImgProcessor *newImgProcessor =new ImgProcessor; newImgProcessor->show(); }
qt编译c语言
qt编译c语言摘要:1.介绍Qt 编译器2.Qt 编译C 语言的过程3.编译C 语言程序的实例正文:1.介绍Qt 编译器Qt 编译器是一个跨平台的C++编译器,它可以帮助开发者编写具有图形用户界面(GUI) 的应用程序。
Qt 提供了许多功能,如窗口、对话框、按钮等,使开发者能够轻松创建美观且实用的应用程序。
虽然Qt 主要是用于C++编程,但它同样也可以用于编译C 语言代码。
2.Qt 编译C 语言的过程在使用Qt 编译C 语言代码时,需要将C 代码与Qt 库进行整合。
这个过程分为以下几个步骤:(1)创建一个新的Qt 项目。
(2)在项目中添加C 语言源文件。
(3)在项目设置中,将C 语言编译器添加到编译器列表中。
(4)编译并运行程序。
3.编译C 语言程序的实例假设我们有一个简单的C 语言程序,它包含一个名为“hello.c”的源文件,内容如下:```c#include <stdio.h>int main() {printf("Hello, Qt!");return 0;}```为了使用Qt 编译这个C 语言程序,我们需要执行以下步骤:(1)打开Qt Creator,并创建一个新的Qt Widgets Application 项目。
(2)在项目文件列表中,右键单击并选择“Add Existing Files to Project”。
然后,浏览到“hello.c”文件并将其添加到项目中。
(3)在项目设置中,转到“Build & Run”选项卡。
在“Qt Version”下拉菜单中,选择适用于C 语言的编译器(例如,g++ (GCC))。
(4)单击“Build”按钮以编译项目。
编译完成后,运行程序。
在程序窗口中,你将看到输出“Hello, Qt!”。
通过以上步骤,我们成功地使用Qt 编译器编译了一个C 语言程序。
这说明Qt 编译器不仅可以用于C++编程,还可以用于编译C 语言代码。
qt程序编译
qt程序编译需要遵循以下步骤:
1.安装Qt库:首先,确保你的系统上安装了Qt库。
你可以从Qt
的官方网站下载并安装Qt SDK。
2.创建项目:使用Qt Creator(Qt的集成开发环境)创建一个新
的项目。
选择“文件”->“新建文件或项目”,然后选择适当的项目类型。
3.编写代码:在Qt Creator中编写你的程序代码。
你可以使用C++
语言,因为Qt主要是用C++编写的。
4.配置项目:在Qt Creator中配置你的项目,指定编译器、Qt版
本等信息。
5.编译和运行:在Qt Creator中,点击“构建”按钮来编译你的程
序。
编译成功后,你可以点击“运行”按钮来运行你的程序。
6.调试:如果程序出现错误或异常,你可以使用Qt Creator的调
试工具来诊断问题。
7.打包和部署:如果你想在其他计算机上运行你的程序,你需要
打包和部署它。
可以使用Qt的安装程序工具(如windeployqt)来创建可执行文件和所有必要的依赖项。
qt 编译流程
qt 编译流程Qt是一款跨平台的C++应用程序开发框架,它提供了丰富的库和工具,可以帮助开发者更快速、更方便地开发应用程序。
Qt的编译流程是将源代码转化为可以在目标平台上运行的可执行文件的过程。
本文将介绍Qt的编译流程。
一、源代码准备在开始编译之前,首先需要准备好Qt的源代码。
Qt的源代码可以从官方网站上下载得到。
下载完成后,将源代码解压到一个合适的目录中。
二、配置编译环境在编译之前,需要配置好编译环境。
Qt的编译依赖于一些工具和库,在不同的平台上配置方法可能会有所不同。
在Windows平台上,可以使用Qt提供的Qt Creator集成开发环境来配置编译环境。
在Linux平台上,可以通过命令行工具来配置编译环境。
配置编译环境的主要任务是指定Qt的安装目录、编译器、库文件等。
在配置完成后,需要对编译环境进行测试,以确保配置正确无误。
三、生成Makefile在配置好编译环境后,需要生成一个Makefile,用于描述编译过程中需要执行的命令。
Makefile是一个文本文件,其中包含了编译过程中需要执行的命令和依赖关系。
生成Makefile的方法有多种,可以使用Qt提供的qmake工具,也可以使用其他类似的工具。
qmake是一个用于生成Makefile的工具,它可以根据项目文件(通常是一个以.pro为后缀的文件)生成相应的Makefile。
四、编译源代码在生成了Makefile之后,就可以开始编译源代码了。
编译的过程主要包括两个步骤:预处理和编译。
预处理是指对源代码进行处理,将其中的宏定义、条件编译等内容展开,生成一个经过预处理的文件。
预处理的结果通常保存在一个以.i为后缀的文件中。
编译是指将预处理后的文件转换为机器码。
编译的结果通常保存在一个以.o为后缀的文件中。
在编译过程中,会调用编译器来完成具体的编译任务。
五、链接可执行文件在编译完成后,需要将各个模块的目标文件链接成一个可执行文件。
链接的过程主要包括以下几个步骤:1. 地址分配:为各个模块分配地址空间,以及确定各个符号在内存中的地址。
qt5opengl编译
qt5opengl编译Qt5是一种跨平台的应用程序开发框架,而OpenGL是一种用于渲染2D和3D图形的图形库。
将这两者结合起来,可以实现更加强大和高效的图形渲染效果。
本文将介绍如何使用Qt5开发OpenGL应用程序,并讨论一些与Qt5和OpenGL相关的主题。
我们需要了解Qt5中的OpenGL模块。
Qt提供了一个名为QtOpenGL 的模块,它包含了与OpenGL相关的类和函数。
使用QtOpenGL,我们可以轻松地创建一个OpenGL窗口,并在其中绘制2D或3D图形。
在开始使用Qt5开发OpenGL应用程序之前,我们需要安装Qt开发环境。
可以从Qt官方网站上下载并安装Qt Creator,它是一个集成开发环境,可以方便地创建和管理Qt项目。
一旦安装好Qt Creator,我们就可以开始创建一个新的Qt项目。
选择“新建项目”选项,然后选择“Qt Widgets Application”模板。
接下来,我们可以选择项目的名称和位置,并点击“下一步”。
在下一个对话框中,我们可以选择所需的模块。
在这里,我们需要选择“Qt OpenGL”模块,并点击“下一步”。
最后,我们可以选择项目的构建目标和构建工具链,并点击“完成”按钮。
创建好项目后,我们可以打开主窗口的源文件(通常是mainwindow.cpp),并添加一些与OpenGL相关的代码。
首先,我们需要在主窗口类的构造函数中创建一个QOpenGLWidget对象,它是一个用于显示OpenGL图形的窗口部件。
我们可以使用setCentralWidget函数将该窗口部件设置为主窗口的中央部件。
接下来,我们需要重写QOpenGLWidget的initializeGL、paintGL 和resizeGL函数。
initializeGL函数在OpenGL上下文初始化时被调用,我们可以在这里进行一些初始化操作,如设置OpenGL的状态。
paintGL函数在窗口需要重新绘制时被调用,我们可以在这里进行绘制操作。
qt编译c语言
QT编译C语言一、概述编写C语言程序是开发软件的基础,而QT是一个跨平台的应用程序开发框架,它提供了丰富的工具和功能,可以帮助开发者轻松地编写和编译C语言程序。
本文将介绍如何使用QT进行C语言的编译,并提供一些实用的技巧和注意事项。
二、QT的安装和配置在开始编译C语言之前,我们需要先安装和配置QT开发环境。
以下是安装和配置QT的步骤:1.下载QT:首先,我们需要从QT官方网站上下载适用于您的操作系统的QT安装包。
在下载过程中,请确保选择与您的操作系统和版本相匹配的安装包。
2.安装QT:下载完成后,双击安装包并按照提示进行安装。
在安装过程中,您可以选择安装的组件和目标文件夹。
建议选择默认选项,以确保安装的完整性。
3.配置QT:安装完成后,打开QT Creator(QT的集成开发环境)并进行一些必要的配置。
首先,选择“工具”菜单下的“选项”选项。
在“构建和运行”选项中,选择您想要使用的编译器(如GCC)并配置相应的路径。
三、创建C语言项目在QT中创建C语言项目非常简单。
按照以下步骤操作:1.打开QT Creator:双击桌面上的QT Creator图标或通过开始菜单打开。
2.创建新项目:选择“文件”菜单下的“新建文件或项目”。
在弹出的对话框中,选择“非QT项目”并选择“C++项目”。
3.配置项目:在配置项目的对话框中,选择“纯C项目”并输入项目的名称和路径。
点击“下一步”并按照提示完成项目的配置。
4.编写C代码:在项目创建完成后,可以在QT Creator中编写C语言代码。
右键单击项目文件夹,并选择“新建文件”。
选择“C源文件”并输入文件名。
然后,您可以在新建的文件中编写C语言代码。
四、编译C语言项目编写完C语言代码后,我们需要将其编译成可执行文件。
在QT中,编译C语言项目也非常简单。
按照以下步骤进行操作:1.打开QT Creator:如果您尚未打开QT Creator,请按照第三节中的步骤打开。
2.打开项目:选择“文件”菜单下的“打开文件或项目”。
qt 5 教程
qt 5 教程Qt 5 教程
1. 基础知识
- 安装Qt 5
- Qt 5 的主要特性
- Qt Creator 的使用
- Qt 5 的基本语法
2. 窗口应用程序开发
- 创建一个窗口应用程序
- 添加控件和布局
- 信号与槽的使用
- 窗口之间的通信
3. 图形界面设计
- 使用样式表美化界面
- 自定义控件的创建
- 绘图和渲染技巧
4. 数据库操作
- 连接数据库
- 执行SQL查询
- 数据库事务管理
5. 网络编程
- 创建网络客户端
- 创建网络服务器
- 进行网络通信
6. 多线程编程
- 创建线程
- 线程间通信
- 线程同步和互斥
7. 文件操作
- 文件读写
- 目录操作
- 文件压缩和解压缩
8. 插件开发
- 创建Qt插件
- 插件的动态加载与卸载
- 插件的扩展性和灵活性
9. 跨平台开发
- 开发可在不同平台上运行的应用程序 - 处理平台差异性
- 使用Qt的跨平台特性
10. 调试与测试
- 使用Qt Creator进行调试
- 单元测试和自动化测试
- 性能优化和内存泄漏检测
这个Qt 5教程旨在帮助你学习Qt 5的各种功能和用法。
希望能对你的Qt开发之路有所帮助!。
Qt5.5.1环境下的OpenCV3.1.0的配置(MSVS2010编译器)(陶 实验成功)
i、点击 Generate,生成 MakeFiles 成功。
转到 build 的保存路径为 C:\opencv\a,如下所示:
OpenCV.sln 便是我们需要的解决方案文件。至此,Cmake 全部结束。
2、VS2010 编译 OpenCV 解决方案生成库
a、 VS2010 打开 OpenCV 的解决方案 OpenCV.sln (双击) , 分别编译 Debug 版和 Release 版。选择 ALL_BUILD 项目,右键进行“生成”,而不是 INSTALL,点击“生成--生成解 决方案”,生成 Debug 版的 dll 和 lib,需要几分钟,如下图所示:
4、测试
测试有 2 个方案: 方案一、使用 VS2010 建立、编译 Qt 工程
到此基于 VS2010 编译器的 QT Creator5.5.1 下的 OpenCV-3.1.0 开发环境已 经配置好,剩下的就是测试是否配置成功。 1) 导入原先的 Qt 工程文件.pro,系统自动转换为.sln 工程; 2) 新建 Qt 工程(下面使用该法测试) a、启动 VS2010,点击“文件----新建项目”菜单,
(3)安装 qt-opensource-windows-x86-msvc2010-5.5.1.exe
注意:安装 qt-opensource-windows-x86-msvc2010-5.5.1.exe,选择下面的选项:
安装完前面三个东东,需要先配置一----------------------------------------------------------------------------------------------------------------------
0、安装软件
qt5opengl编译
qt5opengl编译Qt5是一个跨平台的C++应用程序开发框架,具有丰富的功能和强大的图形界面设计能力。
其中的Qt5 OpenGL模块为开发者提供了使用OpenGL进行图形渲染的功能,使得开发者能够更加灵活地创建高性能的图形应用程序。
Qt5 OpenGL模块的编译过程比较简单,只需要按照一定的步骤进行配置和编译即可。
首先,需要确保已经安装了OpenGL的开发库和驱动程序。
然后,下载并安装Qt5开发环境,包括Qt Creator和Qt 库文件。
在安装过程中,需要选择安装Qt5 OpenGL模块的选项。
安装完成后,打开Qt Creator,创建一个新的Qt项目,选择OpenGL 模板。
在项目配置中,需要将Qt5 OpenGL模块添加到项目的依赖项中。
编写Qt5 OpenGL应用程序主要涉及到两个方面的内容,即OpenGL 的初始化和绘制。
在程序的初始化阶段,需要进行OpenGL的上下文创建和初始化。
可以使用Qt提供的QOpenGLWidget类作为OpenGL 的窗口,通过重写其initializeGL()函数来进行OpenGL的初始化操作。
在初始化函数中,可以设置一些OpenGL的参数,如深度测试、背面剔除等。
同时,还可以创建并初始化OpenGL的顶点缓冲区、着色器和纹理等。
在绘制阶段,需要重写QOpenGLWidget类的paintGL()函数,该函数会在每一帧被调用。
在绘制函数中,可以使用OpenGL的API进行各种图形绘制操作,如绘制点、线、三角形等。
可以通过设置顶点数据、着色器和纹理等来实现不同的效果。
同时,还可以通过设置视图矩阵、模型矩阵和投影矩阵等来实现不同的视角和变换效果。
在绘制完成后,可以调用swapBuffers()函数来交换前后缓冲区,实现图像的显示。
Qt5 OpenGL模块还提供了一些辅助类和函数,用于简化OpenGL的开发过程。
例如,可以使用QOpenGLShaderProgram类来管理着色器程序,使用QOpenGLTexture类来管理纹理对象。
qt 源码编译
qt 源码编译Qt是一款跨平台的应用程序开发框架,具备强大的功能和稳定的性能,已经被广泛应用于多个领域。
如果您想使用Qt来开发应用程序,那么就需要先将Qt源码编译成二进制程序。
下面我们来详细介绍Qt源码编译的步骤。
1. 下载Qt源码首先,您需要从Qt官网下载Qt的源码。
Qt官网提供了多个版本的源码包,您可以根据自己的需要进行选择下载。
建议选择最新版本的源码包,以获取更好的性能和更多的功能。
下载完成后,解压源码包到本地目录。
2. 安装编译工具链在对Qt源码进行编译之前,您需要先安装相应的编译工具链。
Qt官方建议使用gcc编译器来编译Qt源码,建议使用版本为4.9.2以上的gcc。
此外,还需要安装make、g++和gdb等工具。
具体安装方法可以参考相应的操作系统文档。
3. 配置Qt源码在安装完编译工具链之后,您需要对Qt源码进行配置。
Qt源码的配置使用configure命令完成。
在命令行中切换到Qt源码所在目录,并执行以下命令:./configure -prefix /usr/local/qt -opensource -confirm-license其中,-prefix参数指定Qt的安装路径,-opensource参数表示使用开源版的Qt,-confirm-license参数表示要求确认Qt的许可协议。
可根据实际情况进行调整。
4. 编译Qt源码配置完成后,就可以在命令行中执行make命令来编译Qt源码了。
在命令行中执行以下命令:make -j4其中,-j参数指定使用的线程数,可以根据计算机的性能进行调整。
执行完该命令后,Qt源码将开始编译。
编译过程可能需要较长时间,具体时间取决于计算机的性能和Qt的版本。
5. 安装Qt编译完成后,您可以使用make install命令将Qt安装到指定的目录中。
在命令行中执行以下命令:sudo make install其中,sudo表示以管理员权限执行该命令。
安装完成后,就可以开始使用Qt来进行应用程序开发了。
cmake编译Qt5
cmake编译Qt5官⽅⽂档在cmake_minimum_required(VERSION 3.15)project(XXX)set(CMAKE_CXX_STANDARD 14)find_package(Qt5 COMPONENTS Core Qml Quick Charts Widgets DBus REQUIRED)set(CMAKE_AUTOMOC ON)set(CMAKE_AUTORCC ON)set(CMAKE_AUTOUIC ON)# add_executable(XXX a.cpp a.h b.cpp ...)target_link_libraries(XXX PRIVATE Qt5::Core Qt5::Qml Qt5::Quick Qt5::Charts Qt5::Widgets Qt5::DBus)以上的脚本依赖⼀个环境变量,应把Qt5_DIR设置为Qt5Config.cmake所在的⽬录,如果使⽤QtCreator打开CMakeLists.txt⽂件时,默认会传⼊⼀个QT_QMAKE_EXECUTABLE的变量,使⽤这个变量,我们就可以不⽤设置Qt5_DIR了,但需要添加如下代码if (DEFINED QT_QMAKE_EXECUTABLE)get_filename_component(_QT_USR_DIR ${QT_QMAKE_EXECUTABLE} DIRECTORY)get_filename_component(_QT_USR_DIR ${_QT_USR_DIR} DIRECTORY)set(Qt5_DIR ${_QT_USR_DIR}/lib/cmake/Qt5)set(_QT_USR_DIR)endif()如果项⽬使⽤了Qml,很可能会需要链接OpenGL库,但不知道为什么Qt5的cmake不会⾃动依赖这个库,需要添加如下代码find_package(OpenGL COMPONENTS OpenGL REQUIRED)target_link_libraries(XXX PRIVATE OpenGL::GL) # 需要安装 libgl1-mesa-dev库如果使⽤QtCreator,应把所有⽂件都加⼊到Target的Source中,否则QtCreator的⼯程中就看不到了,对于qml这种与编译⽆关的⽂件,可以使⽤如下⽅法,添加file(GLOB_RECURSE QML_FILES "qml/*.qml")target_sources(XXX PRIVATE ${QML_FILES})。
Qt5.2.1静态编译过程详解-转载
【原创】--经验--Qt5.2.1(for Microsoft Visual Studio 2012 version)静态编译过程详解Qt是一个1991年由奇趣科技开发的跨平台C++图形用户界面应用程序开发框架。
它既可以开发GUI程式,也可用于开发非GUI程式,比如控制台工具和服务器。
Qt是面向对象的框架,使用特殊的代码生成扩展(称为元对象编译器(Meta Object Compiler, moc))以及一些宏,易于扩展,允许组件编程。
(摘自百度百科:Qt简介)Qt SDK包括Qt(库)以及Qt Creator(集成开发环境,即IDE)。
总之,对于图形用户界面应用程序开发者而言,Qt是一个很好用的开发工具。
我们在下载别人已经写好的程序时,经常会看到一个光秃秃的.exe可执行文件,对编程不了解的人可能不会太在意这个现象,但是对初学程序设计的同学来说就会产生疑问:“我用Qt写出来的程序不能单独执行啊,必须和一些动态链接库(即.dll文件)放在同一个根目录下才可以执行的”。
实际上,Qt,其实还有其他很多可视化集成开发环境,默认的都是动态编译,通俗了讲就是可执行文件必须和动态链接库联合出现才能执行。
而往往我们发布程序时为了方便起见,最好只要一个.exe可执行文件。
这就要用到静态编译,就是编译器在编译可执行文件的时候,将可执行文件需要调用的对应动态链接库(.so或.ilb)中的部分提取出来,链接到可执行文件中去,使可执行文件在运行的时候不依赖于动态链接库。
这是一个比较麻烦的过程,要把整个qt的库重新编译,编译成静态库,我也弄了很久。
闲话少说,为了让同学们少走弯路,下面我就来分享一下如何将Qt静态编译。
为了方便读者起见,我就从一台还没装qt甚至是VS2012的电脑开始讲起。
(但是还是假定有一点Qt 基础的)一、下载Qt的最新版本=。
=这个总不用我说了吧。
/downloads去这个官网下载,根据你的具体操作系统决定,本人的计算机是Windows64位的操作系统。
qt5精简编译
qt5精简编译Qt5是一款功能强大的跨平台应用程序开发框架,其精简编译能够提高应用程序的性能和响应速度。
本文将围绕Qt5的精简编译展开讨论,从其优势、实现方式以及可能遇到的挑战等方面进行探讨。
一、Qt5精简编译的优势Qt5作为一种跨平台开发框架,其功能十分丰富,但有时候我们并不需要所有这些功能。
精简编译可以帮助我们去除不必要的模块和库文件,从而减小应用程序的体积,提高运行效率。
精简编译还可以减少依赖关系,降低对外部库的依赖,提高应用程序的可移植性和兼容性。
二、Qt5精简编译的实现方式Qt5的精简编译可以通过以下几种方式来实现:1.选择需要的模块:在配置Qt5编译环境时,可以手动选择需要的模块,去除不需要的模块。
这样可以避免编译不必要的代码,减小生成的库文件和可执行文件的大小。
2.优化编译选项:通过调整编译选项,可以减少生成的代码量,提高代码执行效率。
例如,可以关闭一些调试和优化选项,去除不必要的符号信息等。
3.使用静态链接库:将Qt5的库文件以静态链接的方式引入应用程序中,可以避免动态链接库的依赖关系,减小可执行文件的大小。
三、Qt5精简编译可能遇到的挑战尽管Qt5的精简编译可以带来诸多好处,但在实际应用中也可能面临一些挑战。
主要包括以下几个方面:1.功能缺失:精简编译会去除一些不需要的模块和功能,但有时候我们可能会误删一些需要的功能,导致应用程序无法正常运行。
因此,在进行精简编译时,需要仔细考虑每个模块的作用,并进行充分的测试。
2.兼容性问题:精简编译可能会导致与其他库或组件的兼容性问题。
如果应用程序依赖于其他库或组件,需要确保精简编译后的应用程序仍然能够正常运行。
3.维护困难:精简编译会增加应用程序的复杂性,对维护和调试带来一定的挑战。
因此,在进行精简编译时,需要对代码进行充分的注释和文档记录,以便后续的维护工作。
四、总结Qt5的精简编译可以提高应用程序的性能和响应速度,减小应用程序的体积,提高可移植性和兼容性。
g++问题解决方法
g++问题解决方法qt编译问题解决方案:g++ helloworld.cpp -I"/home/Qt5.5.1/5.5/gcc/include" -L"/home/Qt5.5.1/5.5/gcc/lib" -lQt5Core -lQt5Gui -lQt5Widgets -o helloqt1、问题:/home/Qt5.5.1/5.5/gcc/include/QtCore/qglobal.h:1067:4: error: #error "You must build your code with position independent code if Qt was built with -reduce-relocations. " "Compile your code with -fPIC (-fPIE is not enough)."# error "You must build your code with position independent code if Qt was bui解决方案:在编译选项中增加 -fPIC即可解决该问题。
2、问题/usr/bin/ld: warning: libicui18n.so.54, needed by /home/lixp/Qt5.5.1/5.5/gcc/lib//libQt5Core.so, not found (try using -rpath or -rpath-link)/usr/bin/ld: warning: libicuuc.so.54, needed by /home/lixp/Qt5.5.1/5.5/gcc/lib//libQt5Core.so, not found (try using -rpath or -rpath-link)/usr/bin/ld: warning: libicudata.so.54, needed by /home/lixp/Qt5.5.1/5.5/gcc/lib//libQt5Core.so, not found (try using -rpath or -rpath-link)/home/Qt5.5.1/5.5/gcc/lib//libQt5Core.so: undefined reference to `ucal_setMillis_54'undefined reference to `ucol_strcoll_54'undefined reference to `ucnv_setSubstChars_54'undefined reference to `ucal_getTimeZoneDisplayName_54' undefined reference to `ucal_openCountryTimeZones_54'undefined reference to `ucnv_fromUnicode_54'undefined reference to `ucnv_open_54'undefined reference to `ucnv_getDefaultName_54'undefined reference to `ucol_open_54'undefined reference to `ucol_close_54'undefined reference to `ucal_inDaylightTime_54'undefined reference to `ucol_getSortKey_54'undefined reference to `ucnv_getAvailableName_54'undefined reference to `ucal_close_54'undefined reference to `ucal_get_54'undefined reference to `ucal_openTimeZoneIDEnumeration_54'undefined reference to `ucal_getDSTSavings_54'undefined reference to `ucal_open_54'undefined reference to `ucal_openTimeZones_54'undefined reference to `ucnv_toUnicode_54'undefined reference to `u_strT oUpper_54'undefined reference to `u_errorName_54'undefined reference to `ucnv_close_54'/undefined reference to `uenum_close_54'undefined reference to `ucnv_countAvailable_54'undefined reference to `ucnv_getMaxCharSize_54'undefined reference to `ucnv_getAlias_54'undefined reference to `ucal_getDefaultTimeZone_54' undefined reference to `ucnv_compareNames_54' undefined reference to `ucnv_countAliases_54'解决方案:export LD_LIBRARY_PATH=/home/Qt5.5.1/5.5/gcc/lib/。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一次编译已经成功-webkit可用,SSL可用-开荒之旅,历尽艰辛.第二次编译已经成功-webkit可用,SSL可用-旧事重提,高歌猛进.建议参考第二次编译说明.本机使用Qt官方的安装器,已经安装了msvc2010,msvc2013,msvc2013_64和Qt5.5.1源码.本文在WIN7 x64下用MSVC2010x64动态编译Qt5.5.1源码.没有编译dbus,sql驱动只编译了sqllite.因为dbus是linux下的,驱动是第三方库,没有安装,就无法编译.源码根目录README有很多有用信息,Qt官方网页也有很多有用信息.●前置工具:1.ActivePerl5.8 or later2.Python2.7 or later3.Ruby没找到要求,我用的2.2.44.DirectX SDK不然编译失败,提示和ANGLE有关,大意是要DX SDK才能把把opengl映射到A NGLE,就算使用-opengl desktop也编译失败,不清楚为什么.DirectX SDK会自己设置一个环境变量DXSDK_DIR.Qt源码自带angle源码,不用去下载,也不用单独编译.5.C++ compiler supporting the C++98 standard前四个工具安装后,会自动配置环境变量,也必须有,否则就得在cmd中再配置.ActivePerl在p ath中必须位于msysgit的perl之前(如果有)关于Windows SDK 7.1和Visual Studio 2010和Visual Studio 2010 SP1,官方是这么说的: if you use this SDK with Visual Studio 2010, installing the SDK requires installing the foll owing packages in this order.注意有if,如果没安装SDK 7.1,不用鸟这部分内容.●第三方库:1.ICU-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.2.SSL-采用动态编译,X64 Debug和Release都编译了,并且分开存贮.第三方库的编译,一定要按要求走到最后一步,编译出来最终是什么目录结构(即安装后),就是什么目录结构,别改.第三方库的编译,使用Debug版本和Release版本都可以,关键是lib和dll要对应.比如xd.lib 要和xd.dll相对应;x.lib要和x.dll.当然有的库编译出来的D/R名字一样,对于debug版本,它没有在名字后面加后缀d.第三方库的编译,没有必要编译两个配置,一个Release配置就够了,Qt官方就是这么干的,并且官方用的动态编译.●注意事项:[注意]在第一次编译中,编译了ICU和SSL的X64的D和R两个版本(动态编译,所有测试用例全部通过),但R版本的路径在前,目测QT编译过程中,直接用的R.所以第二次编译中,只提供了R版本.[注意]如果编译过程中出错,关掉CMD重来,在第一步之后执行,nmake distclean和nmake cl ean.[注意]此次编译设置的环境变量不会影响系统的环境变量,所设置的环境变量仅对当前cmd 有效.编译步骤:1.打开Visual Studio x64 Win64 命令提示(2010).因为要编译64位的Qt,所以用64位命令行.切到源码根目录,设置环境变量,仅针对当前命令行有效.注意release在前.cd /d D:\Qt\5.5.1\5.5\Srcecho %QtSrc%echo %PATH%echo %INCLUDE%echo %LIB%echo %QMAKESPEC%echo %DXSDK_DIR%第一次编译使用的环境变量SET QtSrc=D:\Qt\5.5.1\5.5\SrcSET PATH=D:\Microsoft DirectX SDK (June 2010)\Developer Runtime\x64;%QtSrc%\qtbase\bi n;%QtSrc%\gnuwin32\bin;D:\icu55.1X64\Release\bin64;D:\icu55.1X64\Debug\bin64;D:\ssl1.0.2f X64\Release\bin;D:\ssl1.0.2fX64\Debug\bin;%PATH%SET INCLUDE=D:\Microsoft DirectX SDK (June 2010)\Include;D:\icu55.1X64\include;D:\ssl1.0. 2fX64\include;%INCLUDE%SET LIB=D:\Microsoft DirectX SDK (June 2010)\Lib;D:\icu55.1X64\Release\lib64;D:\icu55.1X64 \Debug\lib64;D:\ssl1.0.2fX64\Release\lib;D:\ssl1.0.2fX64\Debug\lib;%LIB%SET QMAKESPEC=win32-msvc2010第二次编译使用的环境变量SET QtSrc=D:\Qt\5.5.1\5.5\SrcSET PATH=%QtSrc%\qtbase\bin;%QtSrc%\gnuwin32\bin;D:\icu55.1X64\Release\bin64;D:\ssl1.0.2 fX64\Release\bin;%PATH%SET INCLUDE=D:\icu55.1X64\include;D:\ssl1.0.2fX64\include;%INCLUDE%SET LIB=D:\icu55.1X64\Release\lib64;D:\ssl1.0.2fX64\Release\lib;%LIB%SET QMAKESPEC=win32-msvc2010SET DXSDK_DIR=%DXSDK_DIR%echo %QtSrc%echo %PATH%echo %INCLUDE%echo %LIB%echo %QMAKESPEC%echo %DXSDK_DIR%2.配置,生成makefile文件.键入configure –help可查看帮助.qtbase文件夹下的configure.cache和config.summary,可以看到配置命令和配置总结.第一次编译使用的配置configure -prefix D:\Qt\5.5.1\5.5\msvc2010_64 -debug-and-release -opengl dynamic -icu -no -warnings-are-errors -mp -nomake examples -nomake tests -opensource -platform win32-m svc2010 OPENSSL_LIBS="-lssleay32 -llibeay32"第二次编译使用的配置configure -prefix D:\Qt\5.5.1\5.5\msvc2010_64 -developer-build -debug-and-release -opengl dynamic -icu -no-warnings-are-errors -mp -nomake examples -nomake tests -opensource -p latform win32-msvc2010-confirm-license上述配置命令执行后,会跑一阵子,最后显示:Qt is now configured for building. Just run nmake.To reconfigure, run nmake confclean and configure.[注意]nmake confclean已失效.重新config即可覆盖之前的配置.3.编译,键入nmake.nmake[注意]If you later need to reconfigure and rebuild Qt from the same location, ensure th at all traces of the previous configuration are removed by entering the build directory a nd typing nmake distclean before running configure again.4.安装,键入nmake install.确保config时有-prefix.务必确保-prefix文件夹为空.nmake install[注意]安装后执行清理,要依赖-prefix,所以-prefix不能改名.安装后就清理是个不错的选择.清理非常耗时,成功清理后.nmake distclean和nmakeclean不再有效.如果还需要文档,得在文档编译,安装后再清理.5.安装后,%prefix%/bin目录下需要添加的文件.①icudt55.dll,icuin55.dll,icuuc55.dll是从生成的ICU中复制过去的,复制的是X64Release版本.不清楚为什么只复制这三个,是参照的MSVC2010,2013,2013_64.神奇的是MSVC2010,2013,2013_64都有ICU的dll,却在lib里面没有ICU的lib.也许Qt编译时,把icu的lib包括到自己的lib里面去了,毕竟lib是链接阶段用,dll是运行时用.所以可以把lib包含进去.②ssl仅有的两个dll不需要复制过来,config阶段,cmd显示sll是支持状态.没有在MSVC2010,2013,2013_64中找到SLL相关dll.原因是系统自带了SSL的两个DLL,位于system32中,但版本较老,我编译的SSL依赖的DLL得是自己编译出来的新版.但不能把新的DLL拿去替换system32中的dll,因为系统依赖的是旧版.把新的dll放进qt的bin 目录也没用,因为dll搜索时,system32优先级更高.唯一的办法就是把dll放到exe的目录,此目录搜索优先级比system32还高.SSL的lib并不需要复制到Qt的lib目录.③D3DCompiler_43.dll是从系统system32下复制的,64位dll.msvc2010是32位的D3DCompiler_43.dll,msvc2012是32位的d3dcompiler_47.dll,msvc20 12_64是64位的d3dcompiler_47.dll.④qt.conf是直接从msvc2010复制过去的,并且右键打开,修改了一下值.其中prefix的值一般为绝对路径,就是上文的%prefix%,为".."(即bin的父目录)也ok.其它属性的值是相对于prefix的路径.只需要指定不同于默认值的属性的值.⑤qtenv2.bat是直接从msvc2010复制过去的,并且右键打开,修改了一下参数.⑥licheck.exe是直接从msvc2010复制过去的.与证书检查相关,该文件在msvc2010,2013,2013_64中完全一样.⑦fixqt4headers.pl是直接从msvc2010复制过去的.该文件在msvc2010,2013,2013_64中完全一样.⑧opengl32sw.dll是直接从msvc2013_64复制过去的(64位dll).因为我发现msvc2010和msvc2013下,dll完全一样(32位dll),所以我假设msvc2010_64和msvc2013_64也是一样的(64位dll).另外我用depends查看了msvc2013和msvc2013_64下的这个dll,发现它们依赖的dll全是系统提供的.Qt for Windows - Requirements部分对opengl32sw.dll(系统没有)和opengl32.dll(系统有)有更详细的讨论,太长不爱看.6.编译文档nmake docs7.安装文档,安装在%prefix%\docs下. nmake install_docs。