Qt Forum

    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search
    • Unsolved

    Error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct QMetaObject const PathServiceFactory::staticMetaObject"

    German
    3
    5
    10351
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • T
      ThomasJoachim last edited by

      Hallo,

      Ich eine dll gemacht, die einen Dialog und die o.g. PathServiceFactory bereitstellen "soll".
      Wenn ich diese dll bzw. lib in einem anderen Projekt referenziere wird alles schön vom Compiler übersetzt.
      Aber der Linker kann das o.g. staticMetaIbject nicht auflösen.
      Das verwunderliche ist, dass ich das gleiche in einem anderen Projekt genauso mache und alles super funktioniert.
      Für mich bedeutet das aber: die dll mit der o.g. Schnittstelle scheint ja richtig implementiert zu sein.
      Aber irgendwie unterscheiden sich die importierenden dlls.

      Ich habe schon alles mögliche probiert und recherchiert, aber bisher keinen Hinweis auf eine Lösung gefunden.

      Hier nochmal die Fehlermeldung des Linkers:

      1>Verknüpfen...
      1> Bibliothek "C:\Programme\Virtuos_V_1_6_0\sdk\NumCad\Release\NumCadTextEditor.lib" und Objekt "C:\Programme\Virtuos_V_1_6_0\sdk\NumCad\Release\NumCadTextEditor.exp" werden erstellt.
      1>NumCadTextEditor.obj : error LNK2001: Nicht aufgelöstes externes Symbol ""public: static struct QMetaObject const NumCadPathServiceFactory::staticMetaObject" (?staticMetaObject@NumCadPathServiceFactory@@2UQMetaObject@@B)".
      1>C:\Programme\Virtuos_V_1_6_0\sdk\NumCad\Release\NumCadTextEditor.dll : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.

      1 Reply Last reply Reply Quote 0
      • M
        miroslav last edited by

        Sieht aus, als wird das MOC-File für PathServiceFactory nicht gelinkt. Solltest du es im Nachhinein zu einem QObject gemacht haben, nachdem es vorher bereits im Projekt existiert hat, muss QMake neu aufgerufen werden bzw. das Projekt neu in VS importiert werden. Dadurch werden die Buildschritte für das MOC-File erzeugt.

        Mirko Boehm | mirko@kde.org | KDE e.V.
        FSFE Fellow
        Qt Certified Specialist

        1 Reply Last reply Reply Quote 0
        • T
          ThomasJoachim last edited by

          Ja aber warum kann ich diese dll in einem anderen Projekt ohne Probleme verwenden?

          1 Reply Last reply Reply Quote 0
          • T
            ThomasJoachim last edited by

            Vielen Dank für Deinen Hinweis,
            Ich habe das Problem nun gefunden:
            Ich arbeite nämlich mit Visual Express und da muss ich einiges von Hand in Project -files machen.
            Hierbei habe ich für den PreCopmpiler ein falsches Symbols gesetzt, so dass der Compiler die header von meiner Lib nicht korrekt übersetzt hat.

            1 Reply Last reply Reply Quote 0
            • M
              MrNoway last edited by

              WOW tausend Danke @miroslav

              Ich saß gerade mal eben 5 Stunden an diesem Problem,
              und hätte wohl weitere 20 Stunden daran gearbeitet.

              Das war ja echt wie verhext.

              1 Reply Last reply Reply Quote 0
              • First post
                Last post