VS2010编译QT的问题

MagicCaptain 2011-09-08 08:45:55
我是初学者,最近在研究QT在电脑上安装了VS2010 就想在VS2010上使用QT
在网上找了个教程,http://kb.cnblogs.com/page/84842/
但是在编译的阶段出现了如下问题:
Running syncqt...
Creating qmake...

Microsoft (R) Program Maintenance Utility Version 10.00.30319.01
Copyright (C) Microsoft Corporation. All rights reserved.

Creating makefiles in src...
Generating Visual Studio project files...
Could not find mkspecs for your QMAKESPEC(win32-msvc2010) after trying:
C:/Qt/4.7.0/bin\mkspecs
Error processing project file: C:/Qt/4.7.0/projects.pro
Qmake failed, return code 3

Generating Makefiles...
Could not find mkspecs for your QMAKESPEC(win32-msvc2010) after trying:
C:/Qt/4.7.0/bin\mkspecs
Error processing project file: C:/Qt/4.7.0/projects.pro
Qmake failed, return code 3

google了很长时间仍然没有头绪,望哪位大侠能给出解决方案(最好是已经在VS2010上编译成功的大侠~)
...全文
1321 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
donwmufromdying 2011-09-13
  • 打赏
  • 举报
回复
你要是先装了creator,就用creator的command prompt
老邓 2011-09-12
  • 打赏
  • 举报
回复
这是我在命令行下编译的方法:精简后只有200MB左右。
一、编译动态发布版
修改编译选项(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE = -O2 -Os -MD
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MD -Zi
修改链接选项:
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /OPT:REF /OPT:ICF
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF
修改完成后,备份qmake.conf,然后替换所有“ -Zi”和“ /DEBUG”为空,目的是编译Qt库时不生成pdb文件。
编译Qt库结束后,再恢复“ -Zi”和“ /DEBUG”选项。

配置:
configure -confirm-license -opensource -prefix D:\MrDeng\DEVx86\qt -debug-and-release -shared -platform win32-msvc2010 -fast -no-qt3support -nomake demos -nomake examples -nomake translations

编译安装(先拷贝目录mkspecs至D:\MrDeng\DEVx86\qt):
jom && jom install

减肥:
1. 清除重复的DLL(将qt\lib目录中的DLL全部删除)
2. 清除多余的PDB调试文件(搜索qt目录*.pdb,删除全部pdb文件)(如果生成了pdb文件的话)
3. 清除多余的帮助文档(首先要运行qt\bin\assistant.exe,以便更新qt\doc\pch;然后删除qt\doc\src和qt\doc\html)
务必注意:不可再改变Qt所在路径!!


二、编译静态正式版
修改编译选项(mkspecs\win32-msvc2010\qmake.conf):
QMAKE_CFLAGS_RELEASE = -O2 -Os -MT
QMAKE_CFLAGS_RELEASE_WITH_DEBUGINFO += -O2 -Os -MT -Zi

修改链接选项:
QMAKE_LFLAGS_RELEASE = /INCREMENTAL:NO /OPT:REF /OPT:ICF
QMAKE_LFLAGS_RELEASE_WITH_DEBUGINFO = /INCREMENTAL:NO /DEBUG /OPT:REF /OPT:ICF

配置及编译:
configure -release -platform win32-msvc2010 -fast -static -opensource -no-qt3support
jom
qter_wd007 2011-09-12
  • 打赏
  • 举报
回复
2010下执行configure时,-platform必须指定为win32-msvc2008, 我试过指定win32-msvc2010 编译失败了 楼主可以都试试

这一步是关键之一。

一行乱码 2011-09-09
  • 打赏
  • 举报
回复
我自己的安装流程
1. 下载并安装qt-vs-addin-1.1.9;
2. 下载qt-everywhere-opensource-src-4.7.3.zip
3. 创建D:\Qt\4.7.3
4. 解压qt-everywhere-opensource-src-4.7.3.zip到D:\Qt\4.7.3
5. 打开Visual Studio Command Prompt (2010)(从开始程序中选择,必须使用这个,不能用cmd),
6. 执行以下的命令:

cd D:\Qt\4.7.3

set PATH += D:\Qt\4.7.3

set PATH += D:\Qt\4.7.3\bin

set LIB += C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib【具体路径可以到目录下查看】

set Include += C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Include【具体路径可以到目录下查看】

configure.exe -platform win32-msvc2008 -no-webkit -no-phonon -no-phonon-backend -no-script -no-scripttools -no-multimedia -no-qt3support -fast

nmake【nmake的时间好像3小时左右】

PS:
2010下执行configure时,-platform必须指定为win32-msvc2008, 我试过指定win32-msvc2010 编译失败了 楼主可以都试试
cgstsinghua 2011-09-08
  • 打赏
  • 举报
回复
应该用2008的
dbzhang800 2011-09-08
  • 打赏
  • 举报
回复
下载Qt4.7.4或者Qt4.8.0rc,然后用你的VS2010编译,

4.7.0应该没有相应的msvc-2010的mkspec文件

16,240

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧