问题1
The moc process failed to compile
"SRC:/..............."
into
"Src:/................................."
command
--------
path/to/path
问题2
tbb/tbb_profiling.:28: Parse error at "{"
问题分析
该bug在5.14已经出现过,5.15仍然未能解决,问题的原因在于moc过程中
不支持处理enum
包含#include
头文件的语法。
解决方案1
- 下载
qt-everywhere-src-5.15.0
源代码。 - 进入
qt-everywhere-src-5.15.0\qtbase\src\tools\moc
。 - 用
qtcreator
双击打开moc.pro
。 - 修改文件
moc.cpp
,然后重新编译即可。加入代码如下:
也可以复制一下代码:
if (!test(LBRACE))
return false;
auto handleInclude = [this]() {
if (test(MOC_INCLUDE_BEGIN))
currentFilenames.push(symbol().unquotedLexem());
if (test(NOTOKEN)) {
next(MOC_INCLUDE_END);
currentFilenames.pop();
}
};
do {
if (lookup() == RBRACE) // accept trailing comma
break;
handleInclude();
next(IDENTIFIER);
def->values += lexem();
handleInclude();
skipCxxAttributes();
} while (test(EQ) ? until(COMMA) : test(COMMA));
从以下下载程序,替换原来的moc.exe程序即可。
- 下载地址1:moc.exe
- 下载地址2:moc.exe(推荐)