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

Pritzi

Frischling

  • »Pritzi« ist der Autor dieses Themas

Beiträge: 2

Wohnort: Altwaldhäusl

Beruf: Schüler

  • Private Nachricht senden

1

15.07.2004, 15:28

Anderer Linker Fehler

Hallo Leute!

Ich habe angefangen mein neues Spiel zu programmieren!
Es soll so ähnlich wie Galactica werden nur mit mehr Waffen und mit
Helikoptern!
Ich habe folgendes problem: Visual C++ spukt das aus(beim Linken)

--------------------Konfiguration: HelicopterArea - Win32 Debug--------------------
Linker-Vorgang läuft...
HelicopterArea.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int * g_pbButtons" (?g_pbButtons@@3PAHA)
HelicopterArea.obj : error LNK2001: Nichtaufgeloestes externes Symbol "float * g_pfButtons" (?g_pfButtons@@3PAMA)
HelicopterArea.obj : error LNK2001: Nichtaufgeloestes externes Symbol "float * g_pfOldButtons" (?g_pfOldButtons@@3PAMA)
HelicopterArea.obj : error LNK2001: Nichtaufgeloestes externes Symbol "int * g_pbOldButtons" (?g_pbOldButtons@@3PAHA)
HelicopterArea.obj : error LNK2001: Nichtaufgeloestes externes Symbol "class CHelicopterArea * g_pHelicopterArea" (?g_pHelicopterArea@@3PAVCHelicopterArea@@A)
Debug/HelicopterArea.exe : fatal error LNK1120: 5 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

HelicopterArea.exe - 6 Fehler, 0 Warnung(en)


Ich glaube das es an den globalen Variablen liegt!

//-----------------------------------------------------------
//Globale Variablen
//-----------------------------------------------------------

extern CHelicopterArea* g_pHelicopterArea; // Globaler Klassenzeiger
extern float* g_pfButtons; // 1. Eingabearray
extern BOOL* g_pbButtons; // 2. Eingabearray
extern float* g_pfOldButtons; // 1. altes Eingabearray
extern BOOL* g_pbOldButtons; // 2. altes Einagebarray


Ich hab schon alles durchsucht, aber ich finde den Fehler nicht!
Nochwas: Was bedeutet des Schlüsselwort "extern"????????
Treffen sich 2 Programmierer auf einer Party.
"Ich muss mich übergeben!"
"Per Wert, Zeiger, oder Referenz?"

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

2

15.07.2004, 15:41

Das ist sozusagen die freigabe dafür das es global benutz werden kann. Wenn man es weg lässt wir es von jedem Objekt einmal gelinkt. Man muss diese Var aber auch einmal in nur EINER cpp datei definieren, damit es auch exportiert werden kann.

Anonymous

unregistriert

3

17.07.2004, 17:52

hab den Fehler schon gefunden!

Lephro

Frischling

Beiträge: 66

Wohnort: Dortmund

Beruf: Schüler

  • Private Nachricht senden

4

19.07.2004, 08:38

Du musst die variablen zuerst deklarieren:

z.B. in der Game.h:
extern BOOL m_pbButtons[10000];

und dann in der Game.cpp:
m_pbButtons = FALSE;
Everything that has a beginning has an end

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

5

19.07.2004, 12:36

Gehört sowas nicht zu C++-Grundkenntnissen?

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

6

19.07.2004, 12:42

ups...... ;D

Werbeanzeige