zoukankan      html  css  js  c++  java
  • VS2005 编译 Qt4.8.2库,并修正源码中的错误

    从昨天开始利用VS2005对Qt4.8.2库进行编译,在编译到某个文件时,总是报错,提示VS的cl.exe和nmake.exe返回致命错误。错误罗列如下:

    DefaultLocalizationStrategy.cpp
    platformDefaultLocalizationStrategy.cpp(327) : error C2001: 常量中有换行符
    platformDefaultLocalizationStrategy.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 FilesMicrosoft Visual Studio 8VCBIN
    cl.EXE"”: 返回代码“0x2”
    Stop.
    NMAKE : fatal error U1077: “"d:Program FilesMicrosoft Visual Studio 8VCBIN
    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 和

    后来仔细发现,编译器其实已经调试到了错误地址:

    platformDefaultLocalizationStrategy.cpp(327) : error C2001: 常量中有换行符

    是一个叫“DefaultLocalizationStrategy.cpp”的文件在327行中出现了问题,因此,顺藤摸瓜,

    发现:

    在D:Qtqt4.8.2src3rdpartywebkitSourceWebCoreplatformDefaultLocalizationStrategy.cpp中:

       

    [cpp] view plain copy
     
    1. return WEB_UI_STRING("Look Up “<selection>”", "Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));  



    正是语句中<selection>两边使用了错误的引号,导致了编译不通过。改成:

    [cpp] view plain copy
     
    1. 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

  • 相关阅读:
    BAPI LIST
    如何设计折叠屏幕
    图形学习 Javascript 正则 regexper.com
    Javascript 的数据是什么数据类型?
    Javascript 严格模式下不允许删除一个不允许删除的属性
    Javascript 在严格模式下禁止指向 this
    指针自增学习
    Javascript 严格模式下几个禁忌
    笔记本设置 2K 显示屏 Intel HD Graphics 3000
    Javascript 在严格模式下不允许删除变量或对象
  • 原文地址:https://www.cnblogs.com/findumars/p/7841068.html
Copyright © 2011-2022 走看看