Linker Fehler im Release Modus



  • Hi,

    sobald ich in VS den Release Modus aktiviere bekomme ich folgende Fehlermeldungen

    Fehler	LNK2005	"public: virtual struct QMetaObject const * __thiscall Math::metaObject(void)const " (?metaObject@Math@@UBEPBUQMetaObject@@XZ) ist bereits in moc_math.obj definiert.	
    
    Fehler	LNK2005	"public: virtual int __thiscall Math::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Math@@UAEHW4Call@QMetaObject@@HPAPAX@Z) ist bereits in moc_math.obj definiert.
    
    Fehler	LNK2005	"public: virtual void * __thiscall Math::qt_metacast(char const *)" (?qt_metacast@Math@@UAEPAXPBD@Z) ist bereits in moc_math.obj definiert.
    
    Fehler	LNK2001	Nicht aufgelöstes externes Symbol ""public: virtual struct QMetaObject const * __thiscall OperationPushButton::metaObject(void)const " (?metaObject@OperationPushButton@@UBEPBUQMetaObject@@XZ)".
    

    Im Debug Modul linkt alles so wie gedacht.

    Linker Einstellungen sind im Release und Debug Modus identisch. Libaries sind alle eingetragen.

    Kann mir jemand einen Tipp geben woran es noch liegen könnte?



  • Rebuild all, wenn das nicht hilft quake.



  • @manni66 Rebuild hat nichts geändernt

    deswegen hab ich mir das nochmals genau angeschaut und habe festgestell das der Fehler LNK2001 immer dann entsteht wenn keine moc_.cpp des entsprechenden Q_OBJECTs erstellt wird.

    Wie ließe sich das fixen?

    Wie gesagt im Debug Modus hat alles einwandfrei funktioniert.

    Erwähnenswert wäre noch das ich mit VS2015 und dem Qt-addin arbeite.



  • Ok Kommando zurück!
    Problem hat sich behoben!



  • Dieser Thread wurde von Moderator/in Arcoth aus dem Forum C++ (alle ISO-Standards) in das Forum Compiler- und IDE-Forum verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten