C++ 클래스를 만든 후 QML Object Type으로 사용하기 위해서는 qmlregistertype 함수를 이용하여 QML Engine에 C++ 클래스를 등록해야 한다.
이 과정에서 qmlregistertype 함수의 내부에서 staticMetaObject error 가 발생했다.
나한테 발생한 staticMetaObject error는 lib로 만든 C++ 클래스를 QML App에서 불러오지 못해 발생한 error 였다. .pro 파일을 수정하여 C++ 클래스 lib를 include할 수 있도록 해서 해결했다.
흔히 발생하는 staticMetaObject 에러는 QT 클래스를 상속받은 클래스에서 'Q_OBJECT' 키워드를 사용하지 않고 sginal / slot을 만들 경우에 발생한다고 한다.
즉 다시 말해 QT 클래스를 상속받은 모든 클래스는 의무적으로 'Q_OBJECT'를 사용해야 한다.
이건 규칙~~~~
'karma( 업 ) > QT&QML Error' 카테고리의 다른 글
QString::toStdString() 오류 (412) | 2018.06.20 |
---|---|
'Clock skew detected. Your build may be incomplete' Error (0) | 2017.05.08 |
VMPlayer에서 QT Creator사용시 발생할 수 있는 Error (0) | 2017.05.08 |
qmlRegisterType 등록 error (0) | 2017.05.02 |