Kann kein Release erstellen, aber Debug funkioniert!

Alles rund um die Programmierung mit Qt
Antworten
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Kann kein Release erstellen, aber Debug funkioniert!

Beitrag von Mr.Undercover »

Hallo alle zusammen,

mal eine andere Frage... Habe eine sehr seltsame Fehlermeldung mit der ich nichts anfangen kann...Ich wollte eine exe Datei meines Projekts erstellen. Dabei wollte ich dsa dann als Release compilieren, ich erhalte aber dann die Fehlermeldung system konnte angegebene exe Datei nicht finden ?

dies sind die Fehlermeldungen des Compilers bei release:

Code: Alles auswählen

1>------ Build started: Project: Tool, Configuration: Release Win32 ------
1>Linking...
1>tool.obj : error LNK2019: unresolved external symbol "public: static struct QMetaObject const Tool::staticMetaObject" (?staticMetaObject@Tool@@2UQMetaObject@@B) referenced in function "public: static class QString __cdecl Tool::tr(char const *,char const *)" (?tr@Tool@@SA?AVQString@@PBD0@Z)
1>tool.obj : error LNK2001: unresolved external symbol "public: virtual struct QMetaObject const * __thiscall Tool::metaObject(void)const " (?metaObject@Tool@@UBEPBUQMetaObject@@XZ)
1>tool.obj : error LNK2001: unresolved external symbol "public: virtual void * __thiscall Tool::qt_metacast(char const *)" (?qt_metacast@Tool@@UAEPAXPBD@Z)
1>tool.obj : error LNK2001: unresolved external symbol "public: virtual int __thiscall Tool::qt_metacall(enum QMetaObject::Call,int,void * *)" (?qt_metacall@Tool@@UAEHW4Call@QMetaObject@@HPAPAX@Z)
1>C:\Users\Emin\Documents\Visual Studio 2005\Projects\Tool\Release\Tool.exe : fatal error LNK1120: 4 unresolved externals
1>Tool - 5 error(s), 0 warning(s)
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Was ich auch nicht verstehe ich kriege gar keine Fehlermeldung wenn ich das als Debug compiliere... Was mache ich nun falsch ?
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
androphinx
Beiträge: 170
Registriert: 26. Januar 2009 09:19
Wohnort: 127.0.0.2

Beitrag von androphinx »

Mein lieber MrUndercover, ich habe langsam keinen Bock mehr. Zu jeder noch so bekloppten und einfachen Frage machst du hier einen Thread auf und müllst uns zu. Sorry das sagen zu müssen, aber es ist so. Wie ich dir schon letztes mal geschrieben habe, du darfst auch mal dein eigenes Gehirn einschalten. so gern wir dir helfen, aber du solltest auch mal selber versuchen dir zu helfen. Beispielsweise bei google oder in der QT-Dok. daa findet man ruckzuck die lösung zu diesem problem.....

Mfg androphinx
RavenIV
Beiträge: 267
Registriert: 21. Januar 2009 14:24
Wohnort: Waldshut

Beitrag von RavenIV »

Ein kleiner Tip:
Fehlt da vielleicht eine Lib?
Bzw hast du nur die Debug-Lib eingebunden?
Linux, das längste Text-Adventure aller Zeiten
erpheus
Beiträge: 46
Registriert: 18. November 2008 11:55
Wohnort: Stuttgart

Beitrag von erpheus »

Hallo Mr. Undercuver,

mal eine Frage wo steht da er könne die exe nicht finden. Poste doch mal genau die Zeile wo genau das steht.
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

Hallo leute,

Mittlerweile habe ich schon gegoogelt und in anderen Foren reingeschaut! In anderen Foren steht halt drinne, dass man einfach ein Clean auf das Prog schmeissen soll, und dann sollte es funktionieren (was leider bei mir nicht der Fall war!)

@Raven: Ist die Debug lib nicht immer miteingebunden. Habe ja andere programme auch mit QT geschrieben und da war es nicht nötig gewesen sowas ? Wie mache ich das ? Außerdem was hat die Debug lib mit dem Release zu tun ?

@Erpeus:Was meinst du genau er könnte die Exe nicht finden ? bzw. Wo steht was ?

LG
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
pfid
Beiträge: 535
Registriert: 22. Februar 2008 16:59

Beitrag von pfid »

Mr.Undercover hat geschrieben:@Erpeus:Was meinst du genau er könnte die Exe nicht finden ? bzw. Wo steht was ?
Er meint das hier:
Mr.Undercover hat geschrieben:Dabei wollte ich dsa dann als Release compilieren, ich erhalte aber dann die Fehlermeldung system konnte angegebene exe Datei nicht finden ?

Hast du mal

- nmake clean
- nmake distclean
- qmake
- nmake release

Probiert?
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

ja habe ich......
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
Mr.Undercover
Beiträge: 68
Registriert: 28. Oktober 2008 23:44

Beitrag von Mr.Undercover »

mittlerweile habe ich ein neues Projekt auch angelegt und was drinne ist einfach rüberkopiert! Aber ich kriege andere Fehlermeldungen........ Ich könnte KOTZEN!!!!!

meine "neuen" Fehlermeldungen:

Code: Alles auswählen

1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C2039: 'EasyToolClass' : is not a member of 'Ui'
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C2146: syntax error : missing ';' before identifier 'ui'
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>.\easytool.cpp(5) : fatal error C1083: Cannot open include file: 'tool.h': No such file or directory
1>main.cpp
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C2039: 'EasyToolClass' : is not a member of 'Ui'
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C2146: syntax error : missing ';' before identifier 'ui'
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>c:\users\emin\documents\visual studio 2005\projects\easytool\easytool\easytool.h(22) : error C4430: missing type specifier - int assumed. Note: C++ does not support default-int
1>Generating Code...

@Erpeus: sorry hatte mich verlesen gehabt... Es kann die Tool. Exe Datei nicht finden! Obwohl die im ordner liegt und wenn ich die Datei mal expliziet ausführen will ohne VS kriege ich diese Fehlermeldung :

C:\Users\....\Tool.exe , The NTVDM CPU has enoutered an illigal instruction.
CS:11f8 IP:0207 OP:63 65 73 73 6f Choose 'Close to terminate the application!
----------------------------------------------------------

Ich bedanke mich im voraus für eure Mühe...

MfG
erpheus
Beiträge: 46
Registriert: 18. November 2008 11:55
Wohnort: Stuttgart

Beitrag von erpheus »

Code: Alles auswählen

1>C:\Users\Emin\Documents\Visual Studio 2005\Projects\Tool\Release\Tool.exe : fatal error LNK1120: 4 unresolved externals
Dies ist die drittletzte Zeile von der ersten Fehlermeldung die Du gepostet hast.
Da steht nirgends das er die exe nicht findet. Sondern das die Tool.exe einen Linkerror wirft. und genaueres steht ein par Zeilen drüber.

Zu deinen neuen Fehlermeldungen:
Bitte, bitte, bitte lies Dir mal die Meldungen im einzelnen durch und betrachte sie auch mal alllein Stück für Stück und renn nicht immer gleich hir ins Forum. Es wurde Dir ja schon mal gesagt, bitte schalte deinen Kopf an.

Hier mal eine Fehlermeldung aus deinem aktuellen Post:

Code: Alles auswählen

1>.\easytool.cpp(5) : fatal error C1083: Cannot open include file: 'tool.h': No such file or directory 
Was heisst das ins deutsche Übersetzt?
Antwort:

Code: Alles auswählen

1>.\easytool.cpp(5) : fataler Feheler C1083: Kann eingefügte Datei nicht öffnen 'tool.h': Keine Datei oder kein Verzeichniss
Soll ich jetzt echt noch weiter übersetzen?

Und sorry: wer mit solchen Posts hier ins Forum schneit ist entweder verdammt faul oder blöd oder will nicht.
Wenn ich freundlich bin nehm ich einfach mal an das du diese Felehrmeldungen bereits gelöst hast und nur zu faul warst diese Meldungen aus deinem Post zu nehmen.

Deine Posts erzeugen einfach den Eindruck das du Code schreibst ihn kompelierst und wenn es nicht geht sofort postest.

Daher noch einen Tip wie Du in Zukunft beim Entwickel mehr erfolg haben wirst:
1. Überleg dir was soll das Programm können.
2. Welche Funktionen soll der Anwender nutzen können
3. In welche Module kann ich das gestellte Problem zerlegen
4. Welche Klasssen benötige ich
5. Welche Objekte benötige
6. Welche abläufe gibt es
7. das alles auf papier planen
8. Dokus lesen
9. jetzt erst wird programmiert
10. fehler?
11. fehler analysieren
12. fehlerquellen suchen
13. doku lesen
14. googeln
15. programmiren
16. jetze darfst du posten unter angabe der fehlerneldung vermuteter fehlerquelle bereits versuchter lösungsansätze.

so und dann das ganze bitte rekursiv bei jedem schritt nach punkt 1

An den FHs oder Unis wird Projektplanung gelehrt. Ein absolut ödes langweiliges Fach. Aber das Handwerkszeug von da ist einfach nötig. Wer einfach drauf los programmiert und bei fehlern den Kopf abschaltet wird verlieren und dann in Foren wie diesen nur Frust ernten. Genau das geschieht mit dir gerade.

Mein Entschluss dazu:
Wenn Du dich da nicht besserst werd ich auf deine posts nicht mehr antworten mich nervt es einfach.
Antworten