c++ - NMAKE : fatal error U1077: 'cd' :return code '0x2' cl. 可执行程序

标签 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: fatal error 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>

最佳答案

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

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];

关于c++ - NMAKE : fatal error U1077: 'cd' :return code '0x2' cl. 可执行程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23831911/

相关文章:

c++ - 迭代器拼接列表后存储了错误的值

Qt:信号的返回值有效,为什么官方文档说不可能/禁止?

c++ - 使用 QT Creator 如何将执行级别设置为 requireAdministrator

带有成员初始值设定项的 C++ 对象生命周期扩展规则

c++ - 具有政策的 Alexandrescu 单例

c++ - 在OpenGL中实现自己的旋转功能

asp.net - 从命令行复制 VS2008 "Publish Web Site"

c++ - UpdateLayeredWindow、SIZE_RESTORED 和 GetClientRect 问题

c++ - 检查模块是否与多线程 dll (/MD) 库链接

c++ - 使用 Qtoolbutton 的信号槽