Verweis auf nicht aufgelöstes externes Symbol

Alles rund um die Programmierung mit Qt
Antworten
ElektrikTrick
Beiträge: 5
Registriert: 5. April 2016 17:28

Verweis auf nicht aufgelöstes externes Symbol

Beitrag von ElektrikTrick »

Hallo,
mein erster Beitrag hier ist leider direkt ein Problem das mich bald in den Wahnsinn treibt...
Ich arbeite an einem CheckIn/Zugangskontroll-Programm für ein Fitness-Studio. Dass Verwaltungstool habe ich fast fertig, jetzt wollte ich mit der eigentlichen Checkin-Oberfläche anfangen. Dazu habe ich geplant ein paar Klassen aus dem Verwaltungstool einzubinden. "Easy" habe ich gedacht. Ich habe die cpp- und h-Dateien also in der Pro-Datei eingebunden und schon kann ich nicht mehr kompilieren (MSVC2010-Compiler btw, Qt 5.5). Fehlermeldung:

Code: Alles auswählen

main.obj:-1: Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: virtual __thiscall MainWindow::~MainWindow(void)" (??1MainWindow@@UAE@XZ)" in Funktion "_main".
main.obj:-1: Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""public: __thiscall MainWindow::MainWindow(class QWidget *)" (??0MainWindow@@QAE@PAVQWidget@@@Z)" in Funktion "_main".
main.obj:-1: Fehler: LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""int __cdecl qInitResources_content(void)" (?qInitResources_content@@YAHXZ)" in Funktion "_main".
Ich komme zum verrecken nicht drauf was da schief läuft denn ich habe nach und nach alles rausgenommen und mittlerweile quasi nur noch den leeren Header da stehen: Trotzdem kompiliert er nicht. Habe auch die üblichen Schritte unternommen wie Build-Ordner löschen, qmake etc, nichts hilft...
Den Code (ist ja quasi noch nichts) findet ihr hier. Ich hoffe ihr könnt mir helfen, wahrscheinlich ist es etwas so triviales dass ich es übersehen habe. Bin noch nicht so lange bei Qt...

lg
Thomas

p.S. Wieso kann ich hier eigentlich keinen Dateianhang hochladen?
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von Christian81 »

In den Sourcen ist nirgends etwas von MainWindow zu sehen ... weder in Sourcen noch in Headern.
Dateianhang unten Tab neben 'Optionen'
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ElektrikTrick
Beiträge: 5
Registriert: 5. April 2016 17:28

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von ElektrikTrick »

Christian81 hat geschrieben:In den Sourcen ist nirgends etwas von MainWindow zu sehen ... weder in Sourcen noch in Headern.
Dateianhang unten Tab neben 'Optionen'
Genau! Deshalb verstehe ich diese Fehlermeldung ja auch nicht :(

Beim versuch einen Dateianhang hochzuladen kommt eine Fehlermeldung: Das Kontingent für Dateianhänge ist bereits vollständig ausgenutzt.
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von Christian81 »

Dann kompilierst Du ein anderes Projekt als das Du hier anhängst. Neues Verzeichnis aufmachen, mit qmake das VS-Projekt erzeugen, VS öffnen und kompilieren.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ElektrikTrick
Beiträge: 5
Registriert: 5. April 2016 17:28

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von ElektrikTrick »

Entschuldige, das habe ich nicht ganz verstanden...
Christian81
Beiträge: 7319
Registriert: 26. August 2004 14:11
Wohnort: Bremen
Kontaktdaten:

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von Christian81 »

Du sollst sicherstellen, dass du wirklich das Projekt ist was du hier angehängt hast, also alles komplett neu machen wie ich es geschrieben hab.
MfG Christian

'Funktioniert nicht' ist keine Fehlerbeschreibung
ElektrikTrick
Beiträge: 5
Registriert: 5. April 2016 17:28

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von ElektrikTrick »

Ich habe genau dieses Projekt versucht zu kompilieren, es ist schon dass zweite das ich angelegt habe.
Ich habe mittlerweile herausgefunden das es etwas mit der Art zu tun haben muss wie externe Source-Dateien eingebunden werden. Denn wenn ich die Dateien in den gleichen Ordner kopiere in dem das Projekt liegt, sie dann einbinde, dann kann ich das Projekt kompilieren.
Aber es muss doch möglich sein Klassen aus anderen Ordnern zu verwenden.
ElektrikTrick
Beiträge: 5
Registriert: 5. April 2016 17:28

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von ElektrikTrick »

Des Rätsels Lösung: Ich habe den Symbol-Cache von VS geleert. Danach ging es auch wieder mit dem kompilieren. Hier scheint der MSVC Compiler ein echtes Problem zu haben, das auch immer mal wieder beim Debuggen zuschlägt...
RHBaum
Beiträge: 1436
Registriert: 17. Juni 2005 09:58

Re: Verweis auf nicht aufgelöstes externes Symbol

Beitrag von RHBaum »

Ich habe den Symbol-Cache von VS geleert. Danach ging es auch wieder mit dem kompilieren.
Der "Symbol Cache" (die pdB's die ned selber erzeugst sondern von den M$ servern runterlädst) wird IMHO nur beim Debuggen verwendet, und der Debugger wiederum hat nicht viel mit linker-fehlern am Hut ^^
Die meinst sicher was anderes, bzw hasst was anderes mit gelöscht ^^
Aber es muss doch möglich sein Klassen aus anderen Ordnern zu verwenden.
Klar, der compiler und linker fressen alles was ihm gibst ^^
da kannst eingabe und ausgabe schoen mit absoluten oder relativen pfaden schmücken ... ^^

Wer dir die Pfade verwaltet bzw. verhaut ist die build-chain vorm compiler und linker, also Buildtool / buildgenerator / IDE was auch immer.
beim VS ist es der devenv(IDE) / msbuild(commandline), die durch die Projektdateien (vcproj) gesteuert werden.
das sind xml dateien, die kannst dir mal mit nem editor anschauen ^^
Leider kannst in der VS IDE ned halb so viel einstellen als wie die vcproj theorethisch könnten ^^

Ciao ...
Antworten