Programm lässt sich nicht kompilieren

Schnelle objektorientierte, kompilierende Programmiersprache.
Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Programm lässt sich nicht kompilieren

Beitrag von naums » Di Mär 02, 2010 4:34 pm

Folgendes Projekt: http://www.naums-project.net.tf/src/INI ... IMaker.tar

warum geht das als "Debug" gar nicht zu kompilieren, bzw. als "Release" zwar zu kompilieren aber stürzt direkt nach dem Start ab. Die Debug EXE war 2MB groß die Release lediglich 300KB
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Programm lässt sich nicht kompilieren

Beitrag von cloidnerux » Di Mär 02, 2010 4:46 pm

Wie wäre es mit einer genueren Fehlerbeschreibung, bzw. Fehlermeldungen beim Compilieren oder Meldungen nach/wärend dem Absturz deines Programmes.
Mit welchem Compiler Compiliert, auf welcher Platform?
Was nutzt du in dem programm, eine GUI, wenn ja welches toolkit, welche externen Bibilotheken nutzt du?

Edit: Hab mir das ganze mal Flüchtig angeschaut, du solltest NIEMLAS Code-Dateien direkt einbinden, sondern Funktionen in einer Header Definieren und die dann einbinden, die Funktionen deklarierst du dann in einer anderen Code-Datei, die dann mit Compiliert wird.
Du hast all deinen Code in eine/wenige Dateien geschrieben, Kapsele deine Klassen und Methoden in einzelene Dateien, die diese in Sinnvolle kleinere Häppchen unterteilen, damit du nicht so verrwirrt wirst und schneller Fehler finden und vermeiden kannst.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: Programm lässt sich nicht kompilieren

Beitrag von naums » Di Mär 02, 2010 5:07 pm

Also Release: Absturz des Programms, also so eine Windows Fehlermeldung in der Art des "INIMaker reagiert nicht mehr und muss beendet werden" stils. öööhm. Compiler: GCC; Platform: Windows 7 64bit, keine GUI, externe Bibliotheken hab ich nur die IC.

ja aber wenn ich die Klassen in andre Dateien auslagere, dann muss ich doch wieder Header schreiben. Wie sähe denn der Header für die Klasse spalten aus?
den Code auslagern, ... naja, is ne Sache des Geschmacks, ich werde ja denk ich an dem INIMaker bissl weiterschreiben, da werde ich das vllt. sogar machen (müssen) =)
und in wie weit ist das ein Problem, wenn ich den Code nicht über HeaderDateien einbinde?
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Dirty Oerti
Beiträge: 2229
Registriert: Di Jul 08, 2008 5:05 pm
Wohnort: Thurndorf / Würzburg

Re: Programm lässt sich nicht kompilieren

Beitrag von Dirty Oerti » Di Mär 02, 2010 5:14 pm

naums hat geschrieben:den Code auslagern, ... naja, is ne Sache des Geschmacks
Falsch, das ist absolut keine Sache des Geschmacks. Code in Headerdateien einzubinden ist schlichtweg falsch. In Headerdateien darf nur Code stehen, wenn dieser als Inline gekennzeichnet ist.
Bei Fragen einfach an daniel[ät]proggen[Punkt]org
Ich helfe gerne! :)
----------
Wenn du ein Licht am Ende des Tunnels siehst, freu dich nicht zu früh! Es könnte ein Zug sein, der auf dich zukommt!
----
It said: "Install Win95 or better ..." So I installed Linux.

Benutzeravatar
cloidnerux
Moderator
Beiträge: 3125
Registriert: Fr Sep 26, 2008 4:37 pm
Wohnort: Ram (Gibts wirklich)

Re: Programm lässt sich nicht kompilieren

Beitrag von cloidnerux » Di Mär 02, 2010 5:20 pm

den Code auslagern, ... naja, is ne Sache des Geschmacks
Nein, nur eine Sache der Ignoranz. Wäre es wirklich gleichbedeutend, dann würden mindestens die Hälfte aller Projekte so Compiliert werden, werden sie aber nicht. Hinter Prinzipien wie Header und Objekt-Dateien stehen Jahre an Erfahrung. Es wird nicht nur wegen der Optik genutzt, sondern weil sich einfach nur Verdammt viele Fehler vermeiden lassen und man sich Stunden des Fehlersuchens schenken kann.

Und um zurück zu deinem Problem zu kommen, du hast uns immer noch nicht mitgeteilt, welcher Fehlermeldungen du beim Compilieren als Debug bekommst.
Redundanz macht wiederholen unnötig.
quod erat expectandum

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: Programm lässt sich nicht kompilieren

Beitrag von naums » Di Mär 02, 2010 5:32 pm

"It seems that this project has not been build yet. Do you want to build it?"

ich klicke auf "ja" und es kommt folgendes raus:

Code: Alles auswählen

Precompiling header: win\ic.hpp
mingw32-g++.exe: M:\PROJECTS\CodeBlocks\INIMaker with Linux\win\ic.hpp: linker input file unused because linking not done
Linking console executable: bin\Debug\DatabaseMaker.exe
mingw32-g++.exe: win\ic.h.gch: No such file or directory
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
kommt der Fehler bei irgendwem von euch auch?
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: Programm lässt sich nicht kompilieren

Beitrag von naums » Mi Mär 03, 2010 9:01 pm

öh... okay... keiner schreibt mehr.... kein gutes Zeichen... Ihr kennt mich, ich <- Vollnoob, deshalb kann man mich trotzdem unterstützen... :D
.globl truth
truth:
mov r0, #42
mov pc, lr

Benutzeravatar
Xin
nur zu Besuch hier
Beiträge: 8862
Registriert: Fr Jul 04, 2008 11:10 pm
Wohnort: /home/xin
Kontaktdaten:

Re: Programm lässt sich nicht kompilieren

Beitrag von Xin » Mi Mär 03, 2010 9:18 pm

naums hat geschrieben:"It seems that this project has not been build yet. Do you want to build it?"

ich klicke auf "ja" und es kommt folgendes raus:

Code: Alles auswählen

Precompiling header: win\ic.hpp
mingw32-g++.exe: M:\PROJECTS\CodeBlocks\INIMaker with Linux\win\ic.hpp: linker input file unused because linking not done
Linking console executable: bin\Debug\DatabaseMaker.exe
mingw32-g++.exe: win\ic.h.gch: No such file or directory
Process terminated with status 1 (0 minutes, 0 seconds)
0 errors, 0 warnings
kommt der Fehler bei irgendwem von euch auch?
Ich habe Dein Projekt ja nicht.
Ich vermute, dass hier der Compiler durcheinander kommt. Du hast eine ic.hpp (HPP!), er versucht eine vorkompilierte Headerdatei damit zu erstellen und sucht dann eine ic.h.gch (H!).
hpp ist eine eher ungewöhnliche Abkürzung, Ich würde entweder .h als Erweiterung verwenden oder in den Einstellungen die Voreinstellung 'Vorkompilierte Header' abschalten.
Merke: Wer Ordnung hellt ist nicht zwangsläufig eine Leuchte.

Ich beantworte keine generellen Programmierfragen per PN oder Mail. Dafür ist das Forum da.

Benutzeravatar
Bebu
Beiträge: 562
Registriert: Mi Okt 21, 2009 6:19 pm
Wohnort: In der Nähe von Salzburg - Bin aber kein Österreicher!

Re: Programm lässt sich nicht kompilieren

Beitrag von Bebu » Mi Mär 03, 2010 9:21 pm

Wundert dich das irgendwie? Du legst uns hier einen ziemlichen Haufen Code vor die Tür, der kaum dokumentiert ist ohne Erklärung, was das Ding eigentlich genau tun soll, pflegst einen Programmierstil, der mit unübersichtlich schmeichelvoll umschrieben ist und zeigst keine Lust was daran zu ändern.

Also ich hab mir das ganze runtergeladen und konnte es unter Linux nicht mal kompilieren, weil 50 Fehler. Muss ich da irgendwo einen Schalter für Linux setzen? Wenn ja, wo? Warum steht das nicht als Kommentar im Text?
Wer immer nach dem Unerreichbaren jagt, der wird irgendwann auf die Schnauze fallen!

Benutzeravatar
naums
Beiträge: 740
Registriert: Sa Jan 02, 2010 10:40 pm
Kontaktdaten:

Re: Programm lässt sich nicht kompilieren

Beitrag von naums » Do Mär 04, 2010 4:18 pm

öhm... Das mit Linux ist relativ klar... (hätte ich vllt. sagen können *g*) weil die IC (Improved Console) die WindowsAPI benutzt... (und die gesamten schreib und les Befehle gehen auch nur unter Windows (WritePrivateProfileString)) An der Linux kompatiblität werde ich für die Version nix mehr unternehmen... bin grade dabei das programm mit QT-GUI neu zu schreiben.

Ich bin eigentlich sehr bemüht Code so einfach wie möglich zu halten. manchmal gelingt mir das, manchmal aber auch net. Die Variablen sind zumindest relativ sinnvoll benannt, auch wenn nicht immer sinnvoll. ziemlich alle Variablen a,b,c,.... sind irgendwelche Counter, die zählen wie oft irgendeine Schleife schon durchgelaufen ist.

Wenig dokumentiert.... jaaaaah, sorry... das hab ich vergessen ^^. Ich schreib erst den Quellcode und dann eigentlich die Kommentare... außer ich vergesse die Kommentare...

@xin: kann man denn eine .hpp so einfach in eine .h umbenennen, oder muss ich da irgendwas andres beachten?
.globl truth
truth:
mov r0, #42
mov pc, lr

Antworten