VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序

https://www.cnblogs.com/rainbowzc/p/4689009.html

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip, 不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们 所需要的。只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时 就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查资料看博客,一定要注意博文的文字细节,有时候 差几个字就能让你费很大的劲,四处碰壁。

首先解压源码包到你想要保存编译的位置,注意文件目录一定不能包含中文和空格!

1.下载安装VS2010,我装的是英文破解版,我的安装路径是D:\Microsoft Visual Studio 10.0,选择完全安装,完成后在C:\Program Files下会生成很多文件夹,注意Microsoft SDKs文件夹配置环境变量时要用到,安装完成后可以正常启动VS2010,但是如果想通过命令好启动VS2010还需要设置系统环境变量,设置方法:

我的电脑->右键菜单选择属性->高级系统设置->高级->环境变量->xp用户变量;在用户变量中增加以下环境变量,注意别自己加空格:

include =  D:\Microsoft Visual Studio 10.0\VC\include;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Include;

lib = D:\Microsoft Visual Studio 10.0\VC\lib;C:\Program Files\Microsoft SDKs\Windows\v7.0A\Lib;

path = D:\Microsoft Visual Studio 10.0\VC\bin;D:\Microsoft Visual Studio 10.0\Common7\IDE;C:\Program Files\Microsoft SDKs\Windows\v7.0A\bin;

(2).在环境变量中的系统环境变量增加:QTDIR=D:\Qt\4.7.3, QMAKESPEC=win32-msvc2010,Path = %QTDIR%\bin;

由于Qt4.8在VS环境下的一些问题,为了避免编译中途出现,我总结了3个地方需要修改。

(1) 删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。

(2) 修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的
QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-改成QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t
注意末尾的”-“号区别。如不修改将来如有项目使用wchar_t,qt却编译成wchar_t-,编译会导致连接错误,提示找不到Qwstring;
QMAKE_CFLAGS_RELEASE,QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO,QMAKE_CFLAGS_DEBUG这3处后面的MD,MDd对应改成MT,MTd,以实现在没有VC库的电脑也能运行Qt程序。

(3) 修改src\3rdparty\webkit\Source\WebCore\platform下的 DefaultLocalizationStrategy.cpp,定位到327行,将本行替换成return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));(由于word自动排版问题,请各位直接将以上 英文部分一次性全复制,其实它们是一行,不要分行复制)。
如不修改将出现编译Webkit 时会出现 U1077错误。

VS2010下纯静态编译,需要再VS2010的命令提示符下进行,我安装的是中文版visual studio2010,我的打开步骤如下(英文版自己对号入座):开始->Microsoft Visual Studio 2010->Visual Studio Tools->Visual Studio 命令提示(2010),打开的窗口如下:

上图是VS2010自动帮我配置好环境变量,已正常进入VS2010的VC目录。我当初碰到过一次自动配置环境变量错误,在截图的第二行出现一行英文,内 容大概是无法确定VC环境以及VC的位置,当时查遍了各种资料以及尝试网上的各种办法,中文的外文的网站各种建议,都不可以,差点让我失去信心。当时一生 气,重启电脑,出门走走又自己琢磨了好几种方法,回来刚想试一试,没想到重新打开命令提示符,居然又自动可以了,真是惊喜啊。。最后想了想,当时错误可能 是先装了SDK,然后又胡乱根据网上的方法,手动修改了电脑的环境变量,然后就出现这个问题。。后来再重启电脑前,把之前手动添加的环境变量统统删了,重 启后重开命令提示符就恢复了。希望对有和我相同问题的童鞋能有所帮助。

上一段是题外话,如果你的VS已经自动帮你配置好环境变量了,如上面截图所示,则输入命令进入到源码包的目录下。这里教 一些命令行新手,老鸟请直接跳过,如你现在的目录在C盘下,而你的源码包在D盘,则输入”d:”,回车,进入到D盘。可以使用cd进入你所要进入的目录 中,如cd Qt\4.8.0,就能进入到D:\Qt\4.8.0中,在各个目录下,可以使用dir命令查看当前目录下的所有文件,如同linux下的ls命令。我进 入我的已解压的源码包目录下,我已重命名为4.8.0了。命令提示符截图如下:

接下来进行编译前的配置工作。执行配置,完整命令如下:

configure -debug-and-release -fast -static -platform win32-msvc2010 -no-qt3support -script -scripttools -qt-zlib -qt-libpng -qt-libmng -qt-libtiff -qt-libjpeg -qt-sql-sqlite -plugin-sql-sqlite -qt-style-windows -qt-style-windowsxp -qt-style-windowsvista -qt-style-plastique -qt-style-cleanlooks -qt-style-motif -qt-style-cde -nomake demos -nomake examples -nomake docs -mp

//用的下面的配置参数

E:\qt-4.8.7>configure -debug-and-release -fast -static -platform win32-msvc2010
-no-webkit -no-script -no-qt3support -nomake demos -nomake examples -nomake docs
 -mp

各个命令说明请参照我的另一篇博文:Qt configure 参数不完全说明http://www.cnblogs.com/elect-fans/archive/2012/03/28/2420647.html

推荐将debug和release版本都编译,那样VS2010编译调试Qt程序不会出现LINK错误,本人亲测,有些 人说只要编译release就可以了,但我个人觉得多编译一个debug,就增加一点点空间,而且后面命令省掉了demos等文件的编译,我最终编译完成 的文件也就3.6G,对于现在的电脑硬盘来说都是毛毛雨了。命令最后的-nomake demos -nomake examples -nomake docs,不变异demos,exampls,docs文件,这样既可以提高编译速度,也能减小编译后的体积。-mp适合多核用户提高编译速度,- fast也很重要,细节请看上面的博文。

执行配置,期间会询问是否采用open source(开源版本),还是商业版本,输入”o”选择开源版本;询问是否同意条款,输入”y”表示同意,开始执行配置过程,直到提示配置完成,可以下一步nmake,以开始执行编译。

输入nmake,执行编译,编译过程数个小时(具体看个人电脑配置),编译时最好关闭防火墙,360之类的,你可以做别的事情了,看看网页,电影之类的,但不要运行大型程序,不然会严重降低编译速度。

编译成功结束,如同上图所示,可以关闭命令提示符了。我之前在看网上的资料,执行nmake clean,nmake confclean,结果造成后面VS2010编译Qt程序以及QtSDK编译程序出现各种问题,如找不到config.h,qtmaind.lib等 等。所以强烈建议,编译成功就到此结束,不要执行上述两个清理工作。之前还尝试在configure添加-prex 指定nmake install安装目录,后经实验,编译后,的确可以实现编译完成后能实现静态库链接,且在QtCreator编译出静态程序,但是在VS2010编译程 序时,出现很多找不到PDB的警告,所以舍弃之。

更多链接请光临我的博客:http://www.cnblogs.com/elect-fans/

接下来安装VS插件,安装文件为qt-vs-addin-1.1.10.exe,以下是安装过程以及安装的选项。

安装完成后,打开VS2010,可以通过QT菜单进行QT编译库定位以及打开pro工程文件,也可以通过新建工程项目来创建QT工程。

打开QT工程后,稍稍等待左下角提示关联文件包含提示结束,出现“就绪”的提示后,即可像编译普通VC程序一样,点“编译”按键进行编译以及通过调试菜单 进行调试。注意通过VS2010主要用于调试,要想发布最终的静态链接程序,最好通过QTSDK中的QTCreator来发布。

安装QtSDK,以下是安装过程以及安装选项:

安装完成后,打开QtCreator中,在菜单”工具”->”选项”->”构建和运行”->”Qt版本”,手动添加刚才静态编译的QT的qmake.exe工具。

配置完成,接下来就可以打开Qt工程,通过项目设置来发布静态链接的Qt程序咯!!

我经过4天N次尝试,亲自测试各种资料和方法,最终通过实践成功完成了VS2010静态编译配置QT,期间遇到种种问题,总算解决了,由于篇幅的原因就不一一陈述了,不过本文是我一步步整理出来的,不敢说最适合,但一定有效!请大家关注我的博客:http://www.cnblogs.com/elect-fans/,一起探讨学习。

原文地址:https://www.cnblogs.com/shuimuqingyang/p/10696661.html

时间: 2024-08-23 03:00:04

VS2010 win7 QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序的相关文章

亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)

下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的.只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查

使用VSCode 编译调试QT程序

预备知识 bat文件,或者其他的脚本 qmake基本语法,qmake shadow build vscode 的task配置 前提 各个程序正确安装,即使用QtCreator可以正常编译运行 使用QtCreator生产.pro文件 编译运行 bat文件如下: debug版本 @echo off title qmake and nmake build prompt set VCINSTALLDIR=D:\Microsoft Visual Studio 14.0\VC set QTDIR=D:\Qt

C++Qt5+win10+MSVC2015 64bit构建程序,Release编译成功后使用windeployqt.exe发布程序使用于win7出现缺少MSVCP140.dll!!!

在Windows/system32中找到MSVCP140.dll,放置发布的文件夹中,会出现 这表明程序运行缺少必要的dll,网上搜索解决方法,一般会推荐使用一些软件进行打包,但我使用windeployqt.exe进行软件发布!一样出现上述问题!一度怀疑是不是 win10下开发的软件在win7下不能运行,将源码包换到win7下构建发布一样的问题!!! 那么说明win7/10Release的软件都是可以运行的!但发布的程序到其他的电脑(均为64bit)点击SerialPort.exe,出现上图情况

OSG+VS2010+win7环境搭建---OsgEarth编译

OSG+VS2010+win7环境搭建---OsgEarth编译 转:http://www.cnblogs.com/hnfxs/p/3161261.html Win7下 osg+vs2010环境搭建 一.相关准备 a) Osg源码 当前最新版:OpenSceneGraph的3.0.0.zip 下载链接: http://www.openscenegraph.org/downloads/stable_releases/OpenSceneGraph-3.0/source/OpenSceneGraph-

win7下vs2010编译调试stl源代码

平台环境:windows 7 32位+VS2010+STL源代码5.2.1 STL在sourceforge下载,如果不可以下载,可以在csdn下载. 下载好源码后,首先解压到硬盘,我解压到D:\STL. 在vs2010 tools选择“Visual Studio 命令提示(VS2010)” 在cmd窗口,目录切换到刚刚解压源码的根目录, 输入configure -help查看编译选项 显示平台式XP,这里暂时不管. 输入configure msvc9配置环境 上面红框里面的内容不用去管. 之后切

win7中VS2010中安装CSS3.0问题解决方法

win7中VS2010中安装CSS3.0问题解决方法 在安装Standards Update for VS2010 SP1后,VS2010中没有CSS3.0问题,以下是我的解决方法 1.首先去官网下载 CSS 3 Intellisense Schema 网址:http://visualstudiogallery.msdn.microsoft.com/7211bcac-091b-4a32-be2d-e797be0db210/view/Discussions/1 2.安装 3.Win+R 输入 re

win7 64位系统使用vs2010编译OSG3.2.1

首先我想说的是,osg是有二进制安装包的:http://openscenegraph.alphapixel.com/osg/downloads/free-openscenegraph-binary-downloads(也不叫二进制安装包,就是别人预先编译好的). 我认为,如果只是简单的用下osg,完全可以直接拿上述版本用. 但是,很多人还是决定自己动手编译,原因不详,主要参考教程是这个版本:http://bbs.osgchina.org/forum.php?mod=viewthread&tid=

Win7 / Win8 搭建配置【vs2010】、【cocos2dx环境】、【Android平台】

[1.安装VS2010] 推荐版本 Microsoft Visual Studio 2010旗舰版(2.5G) http://download.microsoft.com/download/E/0/4/E0427BB8-8490-4C7F-A05B-AFEA0FC3EA80/X16-60997VS2010UltimTrialCHS.iso 注册方法: 方法一:在控制面版的在卸载向导中输入序列号 (不要真的卸载) YCFHQ-9DWCY-DKV88-T2TMH-G7BHP, 方法二:解压ISO后找

在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项

在Windows Qt-4.8.x平台上编译Qt-5.0+ WebKit(即qtwebkit-2.3.x) Debug版注意事项 跳转至: 导航. 搜索 目录 1 C++编译问题 1.1 从idl生成.h/.cpp失败? 1.2 VS编译器版本 1.3 名字导出问题 1.4 找不到int64_t类型? 1.5 Windows上需要pthread-win32库以提供多线程支持 2 链接问题 2.1 mt.exe : general error c101008d: Failed to write t