MinGW erzeugt 16 bit Datei

Schnelle objektorientierte, kompilierende Programmiersprache.
Antworten
scratchproof
Beiträge: 5
Registriert: Fr Okt 11, 2013 3:56 pm

MinGW erzeugt 16 bit Datei

Beitrag von scratchproof » Fr Okt 11, 2013 4:06 pm

Hallo,

ich habe gerade erst angefangen mich mit der Programmierei zu beschäftigen. Zunächst mal ein großes Lob an das die Autoren der Tutorials. Die Beschreibungen sind wirklich von Anfang an gut gelungen und es wird nicht wie an vielen anderen Stellen mit " .. das ist jetzt erstmal so, wird später klar..." begonnen.

Nun zu meinen Problem. Ich habe der Vollständigkeit halber auch den vorgeschlagenen Compiler verwendet. Die Installation von MinGW hat problemlos funktioniert und der "Hallo Welt" Test verlief einwandfrei. Um die .exe direkt ausführen zu können habe ich noch getch() eingefügt, auch dies lief perfekt.
Nach einer Kurzen Pause wollte ich weitermachen und bekommen seitdem nur noch die Meldung, das "Diese Version mit der Win-Version nicht kompatibel sei".
Da in der Überschrift steht, dass ich eine 16bit-Version erzeugt habe, leuchtet das auch ein, die Frage ist allerdings wie ich das wieder hinbiegen kann. Eine Neuistallation von MinGW brachte leider auch keinen Erfolg.

Vielen Dank.

Gruß,
scratchproof

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

Re: MinGW erzeugt 16 bit Datei

Beitrag von Xin » Fr Okt 11, 2013 4:20 pm

Willkommen bei proggen.org :-)
scratchproof hat geschrieben:ich habe gerade erst angefangen mich mit der Programmierei zu beschäftigen. Zunächst mal ein großes Lob an das die Autoren der Tutorials. Die Beschreibungen sind wirklich von Anfang an gut gelungen und es wird nicht wie an vielen anderen Stellen mit " .. das ist jetzt erstmal so, wird später klar..." begonnen.
Danke :-)
scratchproof hat geschrieben:Nun zu meinen Problem. Ich habe der Vollständigkeit halber auch den vorgeschlagenen Compiler verwendet. Die Installation von MinGW hat problemlos funktioniert und der "Hallo Welt" Test verlief einwandfrei. Um die .exe direkt ausführen zu können habe ich noch getch() eingefügt, auch dies lief perfekt.
Nach einer Kurzen Pause wollte ich weitermachen und bekommen seitdem nur noch die Meldung, das "Diese Version mit der Win-Version nicht kompatibel sei".
Da in der Überschrift steht, dass ich eine 16bit-Version erzeugt habe, leuchtet das auch ein, die Frage ist allerdings wie ich das wieder hinbiegen kann. Eine Neuistallation von MinGW brachte leider auch keinen Erfolg.
Hier bräuchten wir mehr Input, um es mal mit den Worten von #5 zu sagen.

Welche Compilerversion benutzt Du denn? Ruf den Compiler auf und gib "--version" als Argument über.

Wie kompilierst Du? Wenn Du in der Konsole kompilierst, kopiere bitte den Befehl mal hier ins Forum, zeig wie Du das Programm kompiliert hast und starte es in der Konsole. (Screenshot oder den Text einfach hier reinkopieren)
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.

scratchproof
Beiträge: 5
Registriert: Fr Okt 11, 2013 3:56 pm

Re: MinGW erzeugt 16 bit Datei

Beitrag von scratchproof » Fr Okt 11, 2013 4:48 pm

Hallo,

vielen Dank für die schnelle Antwort.

nachdem ich das .c file mit dem Code erzeugt habe, greife ich über die Konsole auf den jeweiligen Ordner zu und gebe.
" cpp -o HalloWelt.exe HalloWelt.c " ein. Daraufhin wird auch die entsprechende .exe erzeugt.

Zur Verseion: ich habe die cpp.exe geöffnet und " --version " eingegeben. Leider ohne jeden Effekt.

Gruß,
scratchproof

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

Re: MinGW erzeugt 16 bit Datei

Beitrag von Xin » Fr Okt 11, 2013 5:00 pm

scratchproof hat geschrieben:nachdem ich das .c file mit dem Code erzeugt habe, greife ich über die Konsole auf den jeweiligen Ordner zu und gebe.
" cpp -o HalloWelt.exe HalloWelt.c " ein. Daraufhin wird auch die entsprechende .exe erzeugt.
Und die kannst Du nicht ausführen, wenn Du "HalloWelt.exe" eingibst?
scratchproof hat geschrieben:Zur Verseion: ich habe die cpp.exe geöffnet und " --version " eingegeben. Leider ohne jeden Effekt.
"cpp --version" gibt bei Dir nix aus oder wie darf ich 'Ich habe die cpp.exe geöffnet verstehen?
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.

scratchproof
Beiträge: 5
Registriert: Fr Okt 11, 2013 3:56 pm

Re: MinGW erzeugt 16 bit Datei

Beitrag von scratchproof » Fr Okt 11, 2013 5:07 pm

genau, die erzeugte HalloWelt.exe kann ich nicht öffnen. Weder in der Konsole noch durch "direktes" anklicken.

Das mit der Version hatte ich falsch verstanden. Ich habe die Version 4.8.1 .

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

Re: MinGW erzeugt 16 bit Datei

Beitrag von Xin » Fr Okt 11, 2013 5:13 pm

scratchproof hat geschrieben:genau, die erzeugte HalloWelt.exe kann ich nicht öffnen. Weder in der Konsole noch durch "direktes" anklicken.

Das mit der Version hatte ich falsch verstanden. Ich habe die Version 4.8.1 .
Also ein aktueller mingw32.
Okay... Punkt eins... da steht etwas wie "cpp (TDM-2 mingw32) 4.8.1.

Wichtig ist das mingw32. Das sagt nämlich aus, dass es sich um 32 Bit-Software handelt, die da hinten raus kommt.

Punkt 2 - nochmal ^^:
Bitte gib folgendes in die Konsole ein und kopiere die komplette Ausgabe, inkl. der Befehle

Code: Alles auswählen

> type HalloWelt.c
> cpp -o HalloWelt.exe HalloWelt.c
> HalloWelt.exe
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.

scratchproof
Beiträge: 5
Registriert: Fr Okt 11, 2013 3:56 pm

Re: MinGW erzeugt 16 bit Datei

Beitrag von scratchproof » Fr Okt 11, 2013 5:43 pm

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\scratchproof>cd desktop\c\hworld

C:\Users\scratchproof\Desktop\c\hworld>type HalloWelt.c
#include <stdio.h>

int main(void)

{
printf("Hallo Welt\n");

getch();

return 0;

}
C:\Users\scratchproof\Desktop\c\hworld>cpp -o HalloWelt.exe HalloWelt.c

C:\Users\scratchproof\Desktop\c\hworld>HalloWelt.exe
Die Version von C:\Users\scratchproof\Desktop\c\hworld\HalloWelt.exe ist nicht m
it der ausgeführten Windows-Version kompatibel. Öffnen Sie die Systeminformation
en des Computers, um zu überprüfen, ob eine x86-(32 Bit)- oder eine x64-(64 Bit)
-Version des Programms erforderlich ist, und wenden Sie sich anschließend an den
Herausgeber der Software.

C:\Users\scratchproof\Desktop\c\hworld>

Ich sollte wohl dazu sagen das ich ein 64bit Betriebssystem habe. Allerdings lief es ja am Anfang problemlos.

Zu punkt 1:

Microsoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. Alle Rechte vorbehalten.

C:\Users\scratchproof>cpp --version
cpp (GCC) 4.8.1
Copyright (C) 2013 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


C:\Users\scratchproof>


Vielen Dank für deine Geduld bis dahin.

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

Re: MinGW erzeugt 16 bit Datei

Beitrag von Xin » Fr Okt 11, 2013 6:01 pm

scratchproof hat geschrieben:Vielen Dank für deine Geduld bis dahin.
Nichts zu danken, gelegentlich lerne ich ja auch dazu. ^^
Zum Beispiel darauf zu achten, was Du da eigentlich tust. ^^

cpp ist der C PräProzessor! Der Compiler heißt gcc, nicht cpp!

Oftmals gibt es einen Link von cc nach gcc und so habe ich zwar cpp gelesen, aber cc verstanden. So musste ich das hier auch ausprobieren, um es zu kapieren - und hatte natürlich ähnlichen Erfolg ;-)

Was Du machst ist den Präprozessor aufrufen, daraus entsteht wieder ein Textfile, wo alle #includes etc. aufgelöst sind. Das ist, was in Wirklichkeit kompiliert wird.
Da das Textfile als ".exe" gespeichert ist, versucht Windows damit irgendwas anzufangen, kapiert nichts und rät rum: 16 Bit Datei!?

Du kannst Dir die Ausgabe also mit einem Text der cpp-"Exe" mit einem Editor ansehen. ;-)

Benutze bitte:

Code: Alles auswählen

gcc -o hworld.exe hworld.c
dann klappt's auch mit dem Kompilieren :-D
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.

scratchproof
Beiträge: 5
Registriert: Fr Okt 11, 2013 3:56 pm

Re: MinGW erzeugt 16 bit Datei

Beitrag von scratchproof » Fr Okt 11, 2013 6:16 pm

Alles klar.
Ich habe wohl am Anfang auch gcc eingegeben und beim rumspielen wurde blöderweise irgendwann cpp daraus.
Vielen Dank für die Hilfe. Habe heute definitiv einiges gelernt. Vor allem über einige Basics, was wie bereits zu Anfang gesagt häufig zu kurz kommt.

Nochmals vielen Dank und ein schönes Wochenende.

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

Re: MinGW erzeugt 16 bit Datei

Beitrag von Xin » Fr Okt 11, 2013 7:45 pm

scratchproof hat geschrieben:Alles klar.
Ich habe wohl am Anfang auch gcc eingegeben und beim rumspielen wurde blöderweise irgendwann cpp daraus.
Vielen Dank für die Hilfe. Habe heute definitiv einiges gelernt. Vor allem über einige Basics, was wie bereits zu Anfang gesagt häufig zu kurz kommt.
Schön, dafür soll proggen.org ja da sein.

Wenn an den Tutorials etwas hinzufügen ist, melde das bitte auch.
scratchproof hat geschrieben:Nochmals vielen Dank und ein schönes Wochenende.
Dito :-)
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.

Antworten