PCMasters Hardware Forum > Software > GFX, Webdesign und Programmierung > Seite 1 > C++: Wo ist in diesem Code ein Fehler?

Im PC Forum registrieren


Produktsuche
IDEALO-PRODUKT-SUCHE
idealo preisvergleich
PCM News & Reviews
Antwort
 
 
Alt 28.12.2011, 16:50
Threadersteller
MoingMoing
 
Frage

C++: Wo ist in diesem Code ein Fehler?



Hey Leute,
ich lerne zurzeit Programmieren mit C++ und was mich jetzt wirklich nervt ist, dass,
wenn ich mir ein kleines Programm mache und dann ein leeres Projekt dafür nehme ohne vorkompilierte Header und allem, dass das Programm dann nicht läuft.
Ich habe hier 2 sehr einfache Programme:

Nummer 1 ohne vorkompilierte Header, alles selber geschrieben:

#include "stdafx.h"
#include <iostream>
using namespace std;

int main ()
{
cout << "Hallo Welt!" << endl;

return 0;
}


und Nummer 2 mit den vorkompilierten Header, wo ich nur noch cout und die include iostream dazugeschrieben habe:


// Hallo.cpp : Definiert den Einstiegspunkt für die Konsolenanwendung.
//

#include "stdafx.h"
#include <iostream>
using namespace std;


int _tmain(int argc, _TCHAR* argv[])

{

cout << "Hallo Programmierer!" << endl;
cout << "Wie geht es dir?" << endl;

return 0;
}



Also, bei dem 2. kommt das Programm genau so wie es sein soll, bei dem 1. aber kommt ein Fehler. Ein Screenshot davon ist im Anhang.

Warum kommt da immer der Fehler?
Und für was genau brauch ich "#include "stdafx.h"?

Und wenn ich den Code von Nummer 2 kopiere und 1:1 in Nummer 1 einfüge, dann kommt die Fehlermeldung trotzdem.
Ich habe die Einstellungen richtig drin: Konsolenanwendung, .c++-Datei.

]

Geändert von MoingMoing (28.12.2011 um 16:55 Uhr).
Alt Heute
Hardware Bot
Computer Informationen
 
Diese Werbung wird registrierten
Mitgliedern nicht angezeigt.
Werden Sie noch heute kostenlos Mitglied
auf PCMasters.de
Standard Weitere Informationen

 
Alt 28.12.2011, 17:52
pixelflat
 
Standard

Kurz gesagt, im Visual Studio gilt: C++ ist nicht gleich C++!

In deinem Fall hast du ein win32-Projekt mit VC++ angelegt, verwendest aber nicht die "Microsoft'sche Version". Wenn du mit VC++ Standard-Code schreiben willst musst du afaik ein leeres Projekt verwenden.

Ich habs ja schon mal geschrieben: Visual Studio ist gerade für Anfänger nicht die beste Wahl...
]

Zu der stdafx.h: ]
 
Alt 28.12.2011, 19:06
Threadersteller
MoingMoing
 
Standard

Ich habe ja ein leeres Projekt angelegt.

Wenn ich aber den 1. Code in einem leeren Projekt benutze, kommt die Fehlermeldung unten.
Aber wenn ich ein Projekt mache mit dem include stdafx.h .... und auch mit der funktion int main dann geht es.

aber warum?
 
Alt 28.12.2011, 19:08
bf3_3amer
 
Standard

würde auch gerne mal C;C++ lernen aber ich weis nicht wo ich anfangen soll!? gibt es irgendeine Seite wo man sich einlesen kann?
 
Alt 29.12.2011, 08:00
Threadersteller
MoingMoing
 
Standard

also, es gibt seiten wo man sich reinlesen kann und auch auf youtube tutorials um es sich mal anzusehen, musst mal schaun.
ich lern C++ mit 2 Büchern wie "From Zero2Hero" und "Einstieg in C++"....
musst mal schauen.

bitte eine Antwort, wieso geht der gleiche Code nicht, wenn ich ein leeres Projekt nehme?
 
Alt 29.12.2011, 13:12
Benutzerbild von Mr.Silt
Mr.Silt
 
Standard

Guter Einstieg wie ich finde ist C-Lite:
]
 
Alt 29.12.2011, 17:13
Threadersteller
MoingMoing
 
Standard

Zitat:
Zitat von Mr.Silt Beitrag anzeigen
Guter Einstieg wie ich finde ist C-Lite:
]
tut mir leid wenn ich es so schreibe, aber wir kommen hier vom thema ab
bitte eine Antwort auf meine Frage:

wieso geht der genau gleiche Code nicht, wenn ich diesen in ein leeres Projekt kopiere? in einem vorkompiliertem Projekt funktioniert der Code aber....?
 
Alt 29.12.2011, 18:25
BitGNU
 
Standard

Zitat:
Zitat von MoingMoing Beitrag anzeigen
wieso geht der genau gleiche Code nicht, wenn ich diesen in ein leeres Projekt kopiere? in einem vorkompiliertem Projekt funktioniert der Code aber....?
Wahrscheinlich weil du die Settings des Compilers in einem leeren Projekt manuell vornehmen musst. Vergleich mal die Compiler Settings deines leeren Projektes mit dem eines vorkonfigurierten Projektes.
Das ist eben auch das Problem was viele mit Visual C++ haben. Es besteht ein Unterschied zwischen reinem C++ und Visual C++ und wenn du mit den falschen Compiler Settings kompilierst kommt es zu Fehlern.

Geändert von BitGNU (29.12.2011 um 18:30 Uhr).
 
Alt 29.12.2011, 19:32
Threadersteller
MoingMoing
 
Standard

okey ich schau gleich mal nach
wo genau sind die compiler settings?
ich hab bei Extras\Optionen überall nachgeschaut und dort waren alle einstellungen gleich....
 
Alt 29.12.2011, 20:52
BitGNU
 
Standard

Zitat:
Zitat von MoingMoing Beitrag anzeigen
wo genau sind die compiler settings?
Musste mal googlen. Hab die IDE nicht auf der Platte.
Könnte auch sein das die unter dem Stichwort "Build" zu finden sind.

PS: Warum benutz du eigentlich Visual Express und nicht Code::Blocks oder eine andere IDE?
Ich würde die IDE wechseln und mich aufs lernen konzentrieren...

Geändert von BitGNU (29.12.2011 um 20:57 Uhr).
 
Alt 30.12.2011, 09:31
Threadersteller
MoingMoing
 
Standard

Weil ich visual express einfach besser finde.
Bei Code Blocks Bin ich nicht so zurecht gekommen.

Hab auch noch Notepad++ und von MinGw den Compiler....

hab auch schon gegoogelt, finde aber nichts passendes.
kann mir da jemand helfen?

bei einem vorkompiliertem projekt sind ja auch noch andere dateien in dem Projektordner drin wie in dem Ordner Headerdateien.... dort sind 2 Dateien ...
kann es sein, dass es darum bei einem leeren Projekt nicht geht, weil dort die Headerdateien Fehlen?

Geändert von MoingMoing (30.12.2011 um 15:03 Uhr).
 
Alt 31.12.2011, 03:59
BitGNU
 
Standard

Zitat:
Zitat von MoingMoing Beitrag anzeigen
bei einem vorkompiliertem projekt sind ja auch noch andere dateien in dem Projektordner drin wie in dem Ordner Headerdateien.... dort sind 2 Dateien ...
kann es sein, dass es darum bei einem leeren Projekt nicht geht, weil dort die Headerdateien Fehlen?
Ich kann dir jetzt nicht sagen wie die einzelnen Optionen in VC++ heißen, aber probier mal (im übertragenen Sinne) aus, statt "Run Projet" erstmal die Option "Build Project" auszuwählen. Dann werden erstmal alle benötigten Daten für das Projekt erstellt. Bei Eclipse ist das ähnlich das sich ohne nichts kompilieren lässt.

Wenn das nicht hilft, würde ich vor schlagen dich mal in einem C++ Forum zu registrieren ( z. B. ] ) und dort nachzufragen. Wir scheinen ja hier auf keinen grünen Zweig zu kommen weil viele gar nicht programmieren o. die IDE nicht installiert haben. Lg
 
Alt 31.12.2011, 10:56
Threadersteller
MoingMoing
 
Standard

Also bei VC++ gibt es die Möglichkeit, das Projekt neu zu erstellen. Ich hab es mal versucht doch dann kommt wieder eine Fehlermeldung:
Zitat:
1>LINK : error LNK2001: Nicht aufgelöstes externes Symbol "_mainCRTStartup".
1>C:\Beispiele\Ausprobieren\Debug\Ausprobieren.ex e : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========
Mein gesamter Code ist aber wirklich sehr sehr leicht gehalten:
Zitat:
#include <iostream>
using namespace std;

int main()
{

cout << endl << "Das ist das Ergebnix :O " << endl << endl << "Bei Fragen, pech gehabt ;P! !!!!!" << endl;

return 0;
}
....
ich versuchs mal bei dem C++-Forum, danke trotzdem
hardware forum Neue Frage stellen?
Kurze Zusammenfassung der Frage:
Bitte wählen Sie eine Kategorie:
Mailadresse:
Ihre Frage:
Ihre Frage wird als Gast gespeichert. Sollte eine Antwort im Forum erfolgen, bekommen Sie diese per Email zugeschickt.


Antispam, bitte die folgende Aufgabe lösen: 
 
Um auf dieses Thema zu ANTWORTEN
bitte sich zuerst » hier kostenlos registrieren!!

Antwort

Tags: , , , ,

Ähnliche Tags: , ,


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
Checkdisk: Nicht genauer spezifizierter Fehler.. Platte kaputt? Flo3960 Festplatten und optische Laufwerke 5 05.08.2010 21:31
ich find den fehler im code nicht douro GFX, Webdesign und Programmierung 1 27.01.2010 14:34
LaTex Code Fehler, wo? Heimdall Anwendungssoftware 2 13.11.2009 17:40
Fehler Code 39 -Becks92- Hardware Allgemein 0 29.10.2009 16:28
Stop Fehler 0x0000008E bluebird Betriebssysteme 2 26.06.2009 18:20


Sie betrachten gerade: C++: Wo ist in diesem Code ein Fehler?


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.



Im PC Forum registrieren