Я также видел это сообщение об ошибке при использовании Qt 5.4.1 в системе Ubuntu 12.04.
Но причина ошибки была в другом.«lupdate», кажется, имеет проблемы с сильными перечислениями C ++ - 11, по крайней мере, при использовании связанных предварительных объявлений, инкапсулированных в пространство имен.
Я использую что-то подобное в связанном заголовочном файле:
namespace outer {
namespace other {
enum class MyEnum : int;
} // namespace outer::other
namespace inner {
class MyClass {
//...
};
} // namespace outer::inner
} // namespace outer
Проблему с «lupdate» можно обойти, используя marco для термина «enum class»:
#ifndef ENUM_CLASS
#define ENUM_CLASS enum class
#endif
namespace outer {
namespace other {
ENUM_CLASS MyEnum : int;
} // namespace outer::other
namespace inner {
class MyClass {
//...
};
} // namespace outer::inner
} // namespace outer