QT vs2008 配置

1.下载好qt-win-opensource-4.8.2-vs2010.exe解压安装后,打开VS2010选择Tools->Visual Studio Command Prompt打开Dos窗口

2.进入Qt的安装目录(默认是:C:Qt4.8.2)

    运行命令 configure -platform win32-msvc2010

    选择o回车,Y回车

3.接着是自动配制编译环境,等配置结束后,运行nmake,运行过程中遇到如下bug:

  1. DefaultLocalizationStrategy.cpp  
  2. C:Program Files (x86)Microsoft Visual Studio 10.0VCINCLUDEyvals.h(21) : war  
  3. ning C4005: '_HAS_TR1' : macro redefinition  
  4.         command-line arguments :  see previous definition of '_HAS_TR1'  
  5. platformDefaultLocalizationStrategy.cpp(327) : error C2001: newline in constant  
  6.   
  7. platformDefaultLocalizationStrategy.cpp(327) : fatal error C1057: unexpected en  
  8. d of file in macro expansion  
  9. NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio 10.0  
  10. VCBINcl.EXE"' : return code '0x2'  
  11. Stop.  
  12. NMAKE : fatal error U1077: '"C:Program Files (x86)Microsoft Visual Studio 10.0  
  13. VCBIN make.exe"' : return code '0x2'  
  14. Stop.  
  15. NMAKE : fatal error U1077: 'cd' : return code '0x2'  
  16. Stop.  
  17. NMAKE : fatal error U1077: 'cd' : return code '0x2'  
  18. Stop.  

这个bug的官方report见 链接点击

解决如下: 打开文件: C:Qt4.8.2src3rdpartywebkitSourceWebCoreplatformDefaultLocalizationStrategy.cpp 找到327行

删除<selection>的引号“”

如下:

  1. String DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary(const String& selectedString)  
  2. {  
  3. #if defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD)  
  4.     UNUSED_PARAM(selectedString);  
  5.     return WEB_UI_STRING("Look Up in Dictionary""Look Up in Dictionary context menu item");  
  6. #else  
  7. #if USE(CF)  
  8.     RetainPtr<CFStringRef> selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());  
  9.     return formatLocalizedString(WEB_UI_STRING("Look Up “%@”""Look Up context menu item with selected word"), selectedCFString.get());  
  10. #else  
  11.     return WEB_UI_STRING("Look Up "<selection>"""Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));  
  12. #endif  
  13. #endif  
  14. }  


改为:

  1. String DefaultLocalizationStrategy::contextMenuItemTagLookUpInDictionary(const String& selectedString)  
  2. {  
  3. #if defined(BUILDING_ON_LEOPARD) || defined(BUILDING_ON_SNOW_LEOPARD)  
  4.     UNUSED_PARAM(selectedString);  
  5.     return WEB_UI_STRING("Look Up in Dictionary""Look Up in Dictionary context menu item");  
  6. #else  
  7. #if USE(CF)  
  8.     RetainPtr<CFStringRef> selectedCFString(AdoptCF, truncatedStringForLookupMenuItem(selectedString).createCFString());  
  9.     return formatLocalizedString(WEB_UI_STRING("Look Up “%@”""Look Up context menu item with selected word"), selectedCFString.get());  
  10. #else  
  11.     return WEB_UI_STRING("Look Up <selection>""Look Up context menu item with selected word").replace("<selection>", truncatedStringForLookupMenuItem(selectedString));  
  12. #endif  
  13. #endif  
  14. }  
原文地址:https://www.cnblogs.com/eaglezzb/p/4176451.html