Ich habe ein Subdirs-Projekt, es gibt zwei Teilprojekte. Eine ist eine Qt Quick Controls 2 Anwendung und eine andere ist ein Qt Quick 2 Extension Plugin.Wie kann ich eine Methode von Qt Quick 2 Extension Plugin aufrufen?
TestQtQuickPlugin (Subdirs project)
|----app (Qt Quick Controls 2 Application)
| |------main.cpp
| ...
|----plugin (Qt Quick 2 Extension Plugin)
| |----MyItem.h
| |----MyItem.cpp
| ...
MyItem Klasse erbt von QQuickItem, und es hat eine Methode getNum int(). In der Hauptmethode werde ich diese Methode von MyItem() aufrufen. GetNum().
In Ubuntu kompiliert und läuft es erfolgreich. Aber in Windows tritt ein Fehler auf:
main.obj : error LNK2019: unresolved external symbol "public: __cdecl MyItem::MyItem(class QQuickItem *)" ([email protected]@[email protected]@@@Z) referenced in function main
main.obj : error LNK2019: unresolved external symbol "public: virtual __cdecl MyItem::~MyItem(void)" ([email protected]@[email protected]) referenced in function main
main.obj : error LNK2019: unresolved external symbol "public: int __cdecl MyItem::getNum(void)" ([email protected]@@QEAAHXZ) referenced in function main
Was ist falsch an meinem Projekt?
Sind Sie sicher, dass Sie eine Instanz einer QQuickItem-abgeleiteten Klasse in C++ erstellen möchten? –
@KevinKrammer Nein, ich möchte nur eine statische Methode dieser Klasse aufrufen –
Ah, ok, Ihre Syntax erstellt eine temporäre Instanz und ruft eine Methode dazu auf –