Добавить
#include <QDeclarativeProperty>
в верхней части исходного кода. Кажется, что где-то в вашем коде уже есть объявление вперед для QDeclarativeProperty
, поэтому компилятор знает, что это класс/структура, но фактическое определение класса отсутствует.
Следующий исходный код правильно работает через компилятор:
#include <QCoreApplication>
#include <QVariant>
#include <QDeclarativeProperty>
int main(int argc, char ** argv) {
QCoreApplication a(argc, argv);
QObject *object = 0; // rootObject();
object->setProperty("width", 100);
QDeclarativeProperty(object, "width").write(100);
}
При замене #include <QDeclarativeProperty>
с
class QDeclarativeProperty;
Вы получаете следующие компиляции ошибки времени:
main.cpp: In function 'int main(int, char**)':
main.cpp:11:38: error: invalid use of incomplete type 'struct QDeclarativeProperty'
main.cpp:4:7: error: forward declaration of 'struct QDeclarativeProperty'
Вы можете вставить точный, полный вывод ошибки компилятора? –