qt4.8.4安装以及64位程序编译方法

本文将使用简单的几个步骤说明在vc2008和64位的操作系统下如何编译安装x64Qt软件

首先必须保证你所使用的系统是64bit的操作系统,本次我们使用的系统是windows7 professional 64位操作系统

 一、下载及安装

 1. 下载,直接找官网下载就可以了,我的是qt-win-opensource-4.8.4-vs2008.exe;安装到D:\qt\4.8.4目录下!

 2. 设置环境变量:

我的电脑> 属性> 高级> 环境变量> 用户变量里面设置几个变量:

 

创建QTDIR值为 D:\Qt\4.8.4

 

path中增加$QTDIR$\bin(如果没有就创建)

创建QMAKESPEC值为 win32-msvc2008,这个值还是根据你要生成的vs版本,6.0 使用win32-msvc;2003 使用win32-msvc.net; 2005就是win32-msvc2005; 2008就是 win32-msvc2008

最后为了使的你刚才修改的环境变量生效,重启cmd,可以通过c:\>qmake -v来看你使用的qt版本。

 3. 点击开始》Microsoft Visual Studio 2008》Visual Studio Tools》VisualStudio 2008 x64 Win64 Command Prompt

现在开始安装

首先进入你所在的Qt openresource 所在的文件夹

例如:D:\Qt\4.8.4

D:\Qt\4.8.4>onfigure -platform win32-msvc2008 -opensource-fast -qt-style-windowsxp -qt-style-windowsvista -no-qt3support -qt-sql-odbc-no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -nomakeexamples -nomake demos

 

此时会有一个选项 是选择商业版还是开源版,此处要选择开源版,

只需输入o 然后回车 此过程时间大概几分钟

接下来就开始

D:\Qt\4.8.4>nmake

 

最后这个过程时间较长,需要两三个小时!

 

安装

D:\Qt\4.8.4> nmakeinstall

 

 

 

二 编译过程中遇到错误

 

利用VS2008Qt4.8.4库进行编译,在编译到某个文件时,总是报错,提示VScl.exenmake.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.

======================================================================

 

一直只关注到最后几行的错误提示,其实编译器已经调试到了错误地址,

platform\DefaultLocalizationStrategy.cpp(327) :error C2001: 常量中有换行符

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

 

D:\Qt\qt4.8.4\src\3rdparty\webkit\Source\WebCore\platform\DefaultLocalizationStrategy.cpp中:

       returnformatLocalizedString(WEB_UI_STRING("Look Up “%@”", "Look Upcontext menu item with selected word"), selectedCFString.get());

#else

   return WEB_UI_STRING("Look Up “<selection>”", "LookUp context menu item with selectedword").replace("<selection>",truncatedStringForLookupMenuItem(selectedString));

   

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

 

       returnformatLocalizedString(WEB_UI_STRING("Look Up""%@""", "Look Up context menu item with selectedword"), selectedCFString.get());

#else

   return WEB_UI_STRING("Look Up""<selection>""", "Look Up context menuitem with selected word").replace("<selection>",truncatedStringForLookupMenuItem(selectedString)); 

 

即可。

 

 

 

参考:http://blog.csdn.net/wsoar/article/details/6010690

         http://blog.sina.com.cn/s/blog_a66cf8120101jvwf.html

 

你可能感兴趣的:(C++,qt)