Warum bekomme ich "undefinierte Referenz auf vtable ..." Fehler beim Verknüpfen dieser Qt 5.0-Anwendung?

8

Ich habe ein relativ einfaches Qt 5.0-Projekt, das CMake 2.8.9 verwendet:

CMakeLists.txt:

%Vor%

Hauptfenster.h:

%Vor%

MainWindow.cpp:

%Vor%

main.cpp:

%Vor%

Das Projekt enthält auch eine .ui -Datei, die mit Qt Creator 2.6.1 (MainWindow.ui) erstellt wurde.

Wenn ich versuche, die Datei mit g++ unter Linux zu erstellen, erhalte ich die folgenden Fehler:

%Vor%

Was könnte möglicherweise diese Art von Fehler verursachen? Ich bin vor kurzem von qmake zu CMake gewechselt und ich erinnere mich nicht, dass ich so viel Mühe hatte, ein kleines Beispiel zu kompilieren. Was mache ich falsch?

Bearbeiten: Hier wird der Befehl verwendet, um alles zu verknüpfen:

%Vor%     
Nathan Osman 24.12.2012, 00:18
quelle

2 Antworten

18

Stellt sich heraus, ich habe vergessen:

%Vor%

Am Anfang der CMakeLists.txt-Datei.

    
Nathan Osman 24.12.2012, 01:17
quelle
2

Ich habe damit lange mit all den hier veröffentlichten Hinweisen gekämpft:

Ссылка

Und hier

Ссылка

Was ich tun musste, war, die Dinge in der richtigen Reihenfolge zu spezifizieren. Zum Beispiel ist das Folgende der Anfang meiner CMakeLists.txt. Beachten Sie, dass die zwei CMAKE-set-Anweisungen vor add_executable kommen. Sobald ich dies getan habe, konnte ich ohne undefinierte Symbole und Vtable-Referenzen verknüpfen. Ich dachte nur, ich würde dies zum Wohle anderer posten.

%Vor%

Später in der CMakeLists.txt habe ich folgendes:

%Vor%

Das hat den Trick gemacht.

    
quelle

Tags und Links