Что на линии 154? Моя просто декларация
QThread* thread() const;
но в Linux это 4.5.1, поэтому он может отличаться. Первая ссылка на что-либо, включающее токен type
, находится в строке 204, которая является переменной типа Qt::ConnectionType
.
КСТАТИ. Я только что попытался скомпилировать следующее в моей системе (в файле incqobj.cpp)
include <QOObject>
QObject myQOject;
с
g++ -I/usr/lib/qt4/include -I/usr/lib/qt4/include/QtCore -c incqobj.cpp
и он хорошо скомпилирован, поэтому все должно быть просто.
Редактировать: Поскольку Джесси подтверждает, что это работает для него в Windows, я испытываю соблазн сказать, что у вас есть не-Qt-макрос, который входит и вмешивается. Одна вещь, которую вы можете сделать, это проверить правильность того, что на самом деле видит компилятор, заставляя VS генерировать только предварительно обработанный исходный код, а не выполнять компиляцию.
Я не использовал VS годами, но я думаю, что вариант \ E, может быть?
[Редактировать: см. Второй комментарий Джесси, должно быть / E] Это также может быть явным параметром в свойствах компилятора, который можно установить для этого исходного файла. Не могу вспомнить, куда он помещает вывод, так что вам, возможно, придется немного поискать его! Но если вы это делаете, вы можете проверить, смотрит ли код прямо на ту часть, которая соответствует строке 154 в исходном заголовке QObject.