Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

04.02.2012, 16:14

[Listing 2.9] Nicht aufgelöste externe Verweise und Symbole

Habe gerade den Fehlerquelltext zum 2. Kapitel gemacht.

Habe ihn schon berichtigt und mit der Lösung im Buch verglichen, aber der Compiler spuckt nach wie vor eine Fehlermeldung aus. :(

Hier der Code (natürlich berichtigt) :

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
// Listing 2.9
// Fehlerquelltext
//
#include <iostream>
using namespace std;
//Hauptprogramm
//
int main ()
{
//Variablen
//
const int Tempolimit = 100;
float Geschwindigkeit = 130.8f;
int Differenz;
// Übertretene Geschwindigkeit berechnen
Differenz = static_cast<int> (Geschwindigkeit - Tempolimit);
// Ausgabe des Strafzettels
cout << "Hier sind " << Tempolimit << " km/h erlaubt\n";
cout << "Sie sind " << Geschwindigkeit << " km/h gefahren\n";
cout << "Sie sind " << Differenz << " km/h zu schnell gefahren\n";
return 0;
}

Hier die Fehlermeldung:

Quellcode

1
2
3
4
1>------ Erstellen gestartet: Projekt: Listing 2.9, Konfiguration: Debug Win32 ------
1>LINK : error LNK2001: Nicht aufgelöstes externes Symbol "_mainCRTStartup".
1>C:\Users\Krenzler\documents\visual studio 2010\Projects\Listing 2.9\Debug\Listing 2.9.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

Der Compiler zeigt mir an, dass in dieser Zeile

Quellcode

1
int main ()

ein Fehler sein soll.
Ich kann dort aber keinen finden. :(

mfg Challenger

2

04.02.2012, 16:47

Mach doch mal die ganzen leeren kommentare weg.
Vllt denkt der Compiler ja es folgt ein Kommentar.
Metal ist keine Musik sondern eine Religion.

3

04.02.2012, 17:01

Ok, hab ich gemacht.

Daraufhin hat der Compiler die ganzen leeren Zeilen als falsch markiert.

Nun hab ich die leeren Zeilen gelöscht und das Programm sieht folgendermaßen aus:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
// C++ für Spieleprogrammierer 
// Listing 2.9 
// Fehlerquelltext 
#include <iostream> 
using namespace std; 
//Hauptprogramm 
int main () 
{ 
// Variablen 
const int Tempolimit = 100; 
float Geschwindigkeit = 130.8f; 
int Differenz; 
// Übertretene Geschwindigkeit berechnen 
Differenz = static_cast<int> (Geschwindigkeit - Tempolimit); 
// Ausgabe des Strafzettels 
cout << "Hier sind " << Tempolimit << " km/h erlaubt\n"; 
cout << "Sie sind " << Geschwindigkeit << " km/h gefahren\n"; 
cout << "Sie sind " << Differenz << " km/h zu schnell gefahren\n"; 
return 0; 
}


Die Zeilen 1,3,6 und 9 markiert mir der Compiler als falsch. :(

Die Fehlermeldung ist nach wie vor die Gleiche. :(

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

4

04.02.2012, 17:15

Intellisense erkennt nicht, dass es sich bei diesen Zeilen um Kommentare handelt und sieht sie deshalb als falsch an. Die Syntax der deutschen Sprache unterscheidet sich eben geringfügig von der von C++ ;)
Die eigentlichen Fehler findest du in der Ausgabe des Compilers. Intellisense ist eben nur eine Hilfe, die nicht immer richtig liegt.

Du wirst wohl einen falschen Projekttyp gewählt haben. Erstelle mal ein neues leeres Projekt und kopiere den Quelltext hinein.

Harry222

Alter Hase

Beiträge: 864

Beruf: Student

  • Private Nachricht senden

5

04.02.2012, 17:26

Ich habs gerade mal ausprobiert!
Ich hab erst eine CLR Console Application erstellt und dann deinen Code eingefügt. Hat wunderbar funktioniert!

Mfg Harry222

6

04.02.2012, 17:58

Was ist denn eine CLR Console Application und wie erstellt man die? ?(

BurningWave

Alter Hase

Beiträge: 1 106

Wohnort: Filderstadt/Konstanz

Beruf: Student

  • Private Nachricht senden

7

04.02.2012, 18:02

Das ist für den Anfang unwichtig. Erstelle ein leeres Projekt.

8

04.02.2012, 20:55

Hab ich gemacht, aber habe nach wie vor die Fehlermeldung. :(

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

9

05.02.2012, 10:11

Leeres Projekt ist falsch (geht natürlich schon, aber nicht ohne weitere Anpassungen).
Was du erstellen willst ist eine Win32-Konsolenanwendung.

10

05.02.2012, 11:46

Ich hab mich an das Buch gehalten und da steht, dass man statt einem vorkompilierten Header ein leeres Projekt nehmen soll. :)

Außerdem ist das ganze Projekt eine Win32 Konsolenanwendung. :)

Werbeanzeige