VS2005 编译 Qt4.8.2库,并修正源码中的错误
从昨天开始利用VS2005对Qt4.8.2库进行编译,在编译到某个文件时,总是报错,提示VS的cl.exe和nmake.exe返回致命错误。错误罗列如下:
DefaultLocalizationStrategy.cpp
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: 常量中有换行符
platform\DefaultLocalizationStrategy.cpp(327) : fatal error C1057: 宏展开中遇到
意外的文件结束
DragData.cpp
DragImage.cpp
FileChooser.cpp
FileStream.cpp
FileSystem.cpp
GeolocationService.cpp
KillRingNone.cpp
KURL.cpp
Language.cpp
Length.cpp
LinkHash.cpp
Logging.cpp
MIMETypeRegistry.cpp
RuntimeApplicationChecks.cpp
SchemeRegistry.cpp
正在生成代码...
正在编译...
ScrollableArea.cpp
ScrollAnimator.cpp
Scrollbar.cpp
ScrollbarThemeComposite.cpp
ScrollView.cpp
SharedBuffer.cpp
SharedBufferCRLFLineReader.cpp
ThreadGlobalData.cpp
ThreadTimers.cpp
Timer.cpp
UUID.cpp
Widget.cpp
PlatformStrategies.cpp
LocalizedStrings.cpp
Cursor.cpp
正在生成代码...
NMAKE : fatal error U1077: “"d:\Program Files\Microsoft Visual Studio 8\VC\BIN\
cl.EXE"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “"d:\Program Files\Microsoft Visual Studio 8\VC\BIN\
nmake.exe"”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
NMAKE : fatal error U1077: “cd”: 返回代码“0x2”
Stop.
于是将注意力集中在了编译器上,试验了几次,都失败了,及时重新安装了vs2005,也没有解决问题。
今天和同事说起这件事,他提到这个现象,其实有网友已经发现了这个现象,只是在网上没有报道,往往能搜索到的资料是:
configure -debug-and-release -stl -platform win32-msvc2005 -no-dsp -vcproj
在VS2005中安装了QT4.4.3,由于目前的QT版本已经很高了,很难找到QT4.3.2之类的版本了,还有另外一个原因:QT在VS2005上的插件的版本也很高了。因此,很多QT与VS2005结合的文章,现在都不太适用了;不过今天花了3个多小时的时间,终于QT4.4.3安装在VS2005上了,并测试成功!
以下是安装过程:
1. 简述
在 Windows2000/xp 下,安装 VS2005, QT 4.4.3 ;并在 VS2005上建立 QT 的集
成开发环境, 利用 VS2005 开发环境开发,调试 QT 程序;
2.所需程序
VS2005 // VS2005 的安装程序;
qt-win-opensource-src-4.4.3.zip // QT 4.4.3 的 Windows 源代码
qt-vs-addin-1.1.4.exe // VS2005 的 for QT 插件
3. 操作步骤
3.1 安装 VS2005
在 Windows 下,进入 VS2005/ 目录,双击 setup.exe 程序;
每次按照提示, 点击 “Next”按钮 即可;
3.2 安装 QT 4.4.3 源代码
将qt-win-opensource-src-4.4.3.zip 拷贝到 某个目录,如C:/Qt/ 目录下,并在C:/Qt/
下解压qt-win-opensource-src-4.4.3.zip(安装路径不要包含空格,否则会编译出错);
3.3 编译QT 4.4.3
① Windows2000/xp中新增一个系统环境变量QMAKESPEC,值为
win32-msvc2005
② 在系统环境变量的path中添加C:/Qt/qt-4.3.1/bin
③ 从Windows 的“开始”按钮点击,打开 VS2005 Command Program;
路径如下:
“Start -> Program -> Microsoft Visual Studio 2005 -> Visual Studio Tools ->
Visual Studio Command Program”
在VS2005 Command Program 里,进入QT 4.4.3 源代码 目录,如:
> C:/
> cd C:/Qt/ qt-win-opensource-src-4.4.3/
执行configure 目录,参数如下:
>configure -debug-and-release -stl -platform win32-msvc2005 -no-dsp –vcproj
(出现选择項,输入‘y’,按Enter键继续)
等待一段时间后,运行 nmake 命令,如:
> nmake
等待数小时后(视机器条件而定),编译成功即可;
3.4 安装VS2005 的 QT 插件
双击执行 qt-vs-addin-1.1.4.exe 程序即可;
3.5 设置环境参数
在 “系统环境参数里”,新增 一个环境变量:
QTDIR = C:/Qt/qt-4.3.1
即: 变量名 为 QTDIR
变量值为C:/Qt/qt-4.4.3
3.6然后打开VS2005,发现菜单项多了一个‘Qt’ ,说明安装成功!
4. 在Windows端测试
打开 VS2005 ,点击菜单 “File” -> “New” -> “Project ”-> “Qt Projects” -> “QT Application” , 并输入合适的参数和变量,点击 OK.
之后就可以在 VS2005 里自由的使用 QT Designer 和
后来仔细发现,编译器其实已经调试到了错误地址:
platform\DefaultLocalizationStrategy.cpp(327) : error C2001: 常量中有换行符
是一个叫“DefaultLocalizationStrategy.cpp”的文件在327行中出现了问题,因此,顺藤摸瓜,
发现:
在D:\Qt\qt4.8.2\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp中:
- return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
正是语句中<selection>两边使用了错误的引号,导致了编译不通过。改成:
- return WEB_UI_STRING("Look Up \"<selection>\"", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));
即可。
映像深刻的一课!
http://blog.csdn.net/lzrocking/article/details/7925051
VS2005 编译 Qt4.8.2库,并修正源码中的错误的更多相关文章
- VS2005编译QT4.8.2
为什么要编译? 因为安装安装版的QT4.8.2,vs2005编译报错. 1.下载QT4.8.2,qt-everywhere-opensource-src-4.8.2.zip,下载vs-AddIn1.1 ...
- Win7+VS2005编译Qt4.7.3+phonon(需要安装新版本Windows SDK)
Qt官网上下载的源代码在编译时并没有将phonon继承进去,只提供了源代码,而在Win7+VS2005中编译phonon时遇到不少的问题,因为phonon只是一个前端程序,要使用其实现多媒体的播放还需 ...
- vs2005编译QT4.5版本
1. 下载代码:qt-win-opensource-src-4.5.02. 设置环境变量 Add to PATH: ‘;%QTDIR%/bin’3. 输入cmd,启动到vs2005安装目录下,进入Mi ...
- 使用VS2005安装和编译QT4.53源码
学习Qt,当然是QT4好.可是装了4.86以后,网上下载的书中的例子大多无法直接用VS执行(个人不喜欢用QT Creator),即打开pro转换的时候出错(我也懒的研究为什么出错了).看了一下发布时间 ...
- VS2005下如何安装配置编译Qt4.6
本文将使用简单的几个步骤说明在VC 2005下如何编译安装并开发Qt4.6应用程序,其实大部分方法和Qt4.6.0是一样的,不过Qt4.6.0集成了Qt Creater,目录的形式有点改变了,现在我就 ...
- Darwin Streaming Server用vs2005编译运行过程
原创. 一:编译 Darwin6.0.3版本是最新版本,也提供了.dsw文件.但是使用vs2005和vc6是编译不过的.所以,采用Darwin5.5.5版本.使用vc6打开WinNTSupport文件 ...
- 亲测VS2010纯静态编译QT4.8.0,实现VS2010编译调试Qt程序,QtCreator静态发布程序(图文并茂,非常详细)
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0- ...
- Windows环境下使用VS2005编译OpenSSL
如何Windows环境下,使用VS2005编译OpenSSL,虽然这个问题在Baidu.Google上一堆,但安装中还是遇到些问题,在这里 记录下来希望能帮助大家不要在走弯路.注:我是在WinXP S ...
- Windows下静态编译Qt4
既然是静态编译,那就要编译出来的程序不信赖于任何dll文件.首先下载qt-win-opensource-4.7.4-mingw.exe: http://get.qt.nokia.com/qt/sour ...
随机推荐
- js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写
js进阶 12-6 监听鼠标滚动事件和窗口改变事件怎么写 一.总结 一句话总结:滚动事件scroll(),浏览器窗口调整监听resize(),思考好监听对象. 1.滚动事件scroll()的监听对象是 ...
- SQL日期时间函数
一.Sql Server中的日期与时间函数 1. 当前系统日期.时间 select getdate() 2. dateadd 在向指定日期加上一段时间的基础上,返回新的 datetime 值 例如 ...
- if..... if..... 和if..... else if.....
曾经一度认为没有区别,,在有的时候是没有区别的,,但是有些时候则不可相互替换 这两个是有区别的 if..... if..... 是不相关的.只要各自判断两部分的条件即可,两个都会执行 if.... e ...
- Nginx+Tomcat+Memcached实现会话保持(MSM)
会话保持的三种方式 Session sticky会话绑定:通过在前端调度器的配置中实现统一session发送至同一后发端服务器 Session cluster会话集群:通过配置Tomcat保持所有To ...
- 如何搭建自己CDN服务器
转载:http://server.zzidc.com/fwqpz/587.html 目前在免费CDN市场上,360因为“免费”而越做越大,加速乐做的很早.但因免费的节点不多,好多用户都被强走了.安全宝 ...
- Swift3.0 功能一(持续更新)
修改项目名称两种方式 1.Bundle name 2.Bundle display name try 三种处理异常的方式 // 在swift中提供三种处理异常的方式 // 方式一:try方式 程序员手 ...
- js进阶解决浏览器缓存不能自动更新的问题(在ajax的url上带上一个参数,可以是日期,或者是随机数)(随机数Math.random)(取得日期的毫秒数:new Date().getTime();)
js进阶解决浏览器缓存不能自动更新的问题(在ajax的url上带上一个参数,可以是日期,或者是随机数)(随机数Math.random)(取得日期的毫秒数:new Date().getTime();) ...
- MySQL运行环境部署规范
一:系统安装规范 1.关闭CPU节能,设定最大性能模式. 2.关闭NUMA(主要是为了避免swap).C-states.C1E. 3.阵列卡策略使用FORCE WB,关闭预读. 4.机械盘时,所有盘组 ...
- jQuery中serializeArray方法的使用及对象与字符串的转换
使用jQuery中的serializeArray()方法可以方便的将表单中的各个信息,转化为多个{name:xx,value:xx}对象的数组, 再使用遍历的方式可以方便的将数组转化为json对象, ...
- Java CPU使用率过高分析
http://note.youdao.com/publicshare/?id=d02cba2714709d4d4fe8a8627fc1cf41&type=note#/ (友情提示:本博文章欢迎 ...