NMAKE:致命错误U1077:'cd':返回代码'0x2'cl.exe

时间:2014-05-23 14:31:33

标签: c++ visual-studio-2008 qt4

我正在尝试从源代码编译QCAD(一个依赖于Qt的开源CAD应用程序),因此我可以为msvs2008构建它。我一直在按照这里给出的说明进行操作:http://www.qcad.org/en/component/content/article/78-qcad/111-qcad-compilation-from-sources

我成功配置并编译了Qt 4.8.5并设置了我的环境变量PATH。我创建了一个新的环境变量QMAKESPEC并将值设置为win-32-msvc2008。我没有任何问题地完成了QCAD的配置。但是,在编译大约30分钟后,我遇到了以下错误:NMAKE:致命错误U1077:'cd':返回代码'0x2'。我已经看到了Qt编译报告的类似错误,但是,我没有问题。有谁知道什么可能是错的?提前谢谢。

Generating Code...
c:\qcad\src\3rdparty\qt-labs-qtscriptgenerator-4.8.5\generated_cpp\com_trolltech_qt_webkit\qtscriptshell_qwebpluginfactory.cpp(58) 
: warning C4715: 'QtScriptShell_QWebPluginFactory::create' : not all control paths return a value
c:\qcad\src\3rdparty\qt-labs-qtscriptgenerator-4.8.5\generated_cpp\com_trolltech_qt_webkit\qtscriptshell_qwebpluginfactory.cpp(128)
: warning C4715: 'QtScriptShell_QWebPluginFactory::plugins' : not all control paths return a value
c:\qcad\src\3rdparty\qt-labs-qtscriptgenerator-4.8.5\generated_cpp\com_trolltech_qt_webkit\qtscriptshell_qwebhistoryinterface.cpp(105) 
: warning C4715: 'QtScriptShell_QWebHistoryInterface::historyContains' : not all control paths return a value
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\BIN\nmake.exe"' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.
NMAKE : fatal error U1077: 'cd' : return code '0x2'
Stop.

C:\qcad>

1 个答案:

答案 0 :(得分:5)

花了一段时间,但我已经解决了这个问题。文件QtScriptShell_QWebPluginFactory.cpp包含几行判断空数组:

static const QWebPluginFactory::Extension qtscript_QWebPluginFactory_Extension_values[] = {};
static const char * const qtscript_QWebPluginFactory_Extension_keys[] = {};

虽然C99可以接受,但Visual Studio C ++编译器不接受空数组。所以我只是添加了一个非零大小,错误就消失了。

static const QWebPluginFactory::Extension qtscript_QWebPluginFactory_Extension_values[1];
static const char * const qtscript_QWebPluginFactory_Extension_keys[1];