用Microsoft编译器无法编译Qt

时间:2011-05-18 10:53:59

标签: c++ qt qt4 visual-studio-2010

我想用VS2010编译器构建Qt(4.7.3),但在配置时遇到了问题。

我正在使用VS-command-shell。 我的configure-command看起来像这样:

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

这在启动配置后的第二秒发生。出了什么问题?

C:\qt-everywhere-opensource-src-4.7.3\qmake\qbitarray.obj couldn't be found
werden
        del project.obj main.obj makefile.obj unixmake.obj unixmake2.obj mingw_m
ake.obj  option.obj winmakefile.obj projectgenerator.obj property.obj meta.obj
makefiledeps.obj metamakefile.obj xmloutput.obj pbuilder_pbx.obj  borland_bmake.
obj msvc_nmake.obj msvc_vcproj.obj msvc_vcxproj.obj  msvc_objectmodel.obj msbuil
d_objectmodel.obj symmake.obj initprojectdeploy_symbian.obj  symmake_abld.obj sy
mmake_sbsv2.obj symbiancommon.obj registry.obj epocroot.obj
C:\qt-everywhere-opensource-src-4.7.3\qmake\project.obj couldn't be found 
        del qmake_pch.obj
C:\qt-everywhere-opensource-src-4.7.3\qmake\qmake_pch.obj couldn't be found
        del qmake_pch.pch
C:\qt-everywhere-opensource-src-4.7.3\qmake\qmake_pch.pch couldn't be found
        del qsystemlibrary.obj
C:\qt-everywhere-opensource-src-4.7.3\qmake\qsystemlibrary.obj couldn't be found
        del vc60.pdb
C:\qt-everywhere-opensource-src-4.7.3\qmake\vc60.pdb couldn't be found
        del vc70.pdb
C:\qt-everywhere-opensource-src-4.7.3\qmake\vc70.pdb couldn't be found
        del qmake.pdb
C:\qt-everywhere-opensource-src-4.7.3\qmake\qmake.pdb couldn't be found
        del qmake.ilk
C:\qt-everywhere-opensource-src-4.7.3\qmake\qmake.ilk couldn't be found
        del qmake.tds
C:\qt-everywhere-opensource-src-4.7.3\qmake\qmake.tds couldn't be found

Microsoft (R) Program Maintenance Utility, Version 10.00.30319.01
Copyright (C) Microsoft Corporation. Alle Rechte vorbehalten.

        cl -c -Fo./  -W3 -nologo -O2  /MP  -I. -Igenerators -Igenerators\unix -I
generators\win32 -Igenerators\mac -Igenerators\symbian  -IC:\qt-everywhere-opens
ource-src-4.7.3\include -IC:\qt-everywhere-opensource-src-4.7.3\include\QtCore
-IC:\qt-everywhere-opensource-src-4.7.3\include -IC:\qt-everywhere-opensource-sr
c-4.7.3\include\QtCore  -IC:\qt-everywhere-opensource-src-4.7.3\src\corelib\glob
al  -IC:\qt-everywhere-opensource-src-4.7.3\src\corelib\xml  -IC:\qt-everywhere-
opensource-src-4.7.3\mkspecs\win32-msvc2008   -IC:\qt-everywhere-opensource-src-
4.7.3\tools\shared  -DQT_NO_TEXTCODEC -DQT_NO_UNICODETABLES -DQT_LITE_COMPONENT
-DQT_NODLL -DQT_NO_STL  -DQT_NO_COMPRESS -DUNICODE -DHAVE_QCONFIG_CPP -DQT_BUILD
_QMAKE -DQT_NO_THREAD  -DQT_NO_QOBJECT -DQT_NO_GEOM_VARIANT -DQT_NO_DATASTREAM -
DQT_NO_PCRE -DQT_BOOTSTRAPPED  -DQLIBRARYINFO_EPOCROOT -c -Yc -Fpqmake_pch.pch -
TP qmake_pch.h
qmake_pch.h
c:\qt-everywhere-opensource-src-4.7.3\include\qtcore\../../src/corelib/global/qg
lobal.h(45) : fatal error C1083: File (Include) couldn't be opened: "st
ddef.h": No such file or directory
NMAKE : fatal error U1077: ""C:\Program Files (x86)\Microsoft Visual Studio 10.0
\VC\BIN\cl.EXE"": return code "0x2"
Stop.
Building qmake failed, return code 2

2 个答案:

答案 0 :(得分:10)

默认情况下,Microsoft Visual Studio在安装时不会将#include搜索路径和/或库链接路径放入全局环境中,而是将其留给IDE进行设置,或者让用户明确这样做使用命令行编译器时。

对于后一个目的,Microsoft提供批处理文件,请参阅Visual Studio文档中的Setting the Path and Environment Variables for Command-Line Builds

您需要在VCVARS32.BAT之前运行那里提到的configure.exe脚本。

答案 1 :(得分:4)

这太愚蠢我必须自己回答。

原因是我没有安装C ++编译器。

我一直以为我做过,但直到现在才使用VS2010进行C#开发。

不要降低b / c我浪费了一些人的时间!在编码过程中,你最后一次发生这种愚蠢的事情是什么时候?