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

idontknow

unregistriert

1

22.03.2009, 00:51

GetDirect3DParameters - Bezeichner wurde nicht gefunden!

tach leute,

Ich habe mal wieder ein Problem!

Ich wollte ein paar Dinge mit der TriBase Engine testen und dazu erstmal eine Anwendung du Direct3D initialisiert, erstellen!

Ich habe alle benötigten Headerdateien eingebund/ Librarys gelinkt, damit ich alle Funktionen nutzen kann!

Allerdings meldet der Compiler mir bei folgender Code Zeile (die einzige in der erstellten Funktion!)

Quellcode

1
2
d:\programmierung\save\cube\cube\cube\cube_main.cpp(14) : error C2065: 'g_Direct3DParameters': nichtdeklarierter Bezeichner
d:\programmierung\save\cube\cube\cube\cube_main.cpp(14) : error C3861: "GetDirect3DParamters": Bezeichner wurde nicht gefunden.


Der Code in der Funktion:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
tbResult InitApplication()
{
  tbResult Result;

  Result = GetDirect3DParamters(&g_Direct3DParameters);
  
  return TB_OK;
};


Er erkennt alee headerdateien und ohne den Funktionsaufruf lässt sich alles einwandfrei kompilieren!

Zudem erkennt er die Parameter der Funktion, wenn ich die erste Klammer setze, was ja darauf hindeutet dass ihm die Funktion bekannt sit, dennoch meldet er einen Fehler, der mir leider wenig/gar nichts sagt -.-

Hoffe ihr könnt mir helfen, dürfte wohl kein schlimmer Fehler sein oder? ;)

mfg

n0_0ne

1x Contest-Sieger

  • Private Nachricht senden

2

22.03.2009, 03:01

ich weiß nicht genau, was du meinst mit, erste klammer setzen...
aber falls die funktion zu einer klasse gehört, hast du vielleicht tbResult KlassenName::InitApplication() vergessen?

Käsekönig

1x Contest-Sieger

  • Private Nachricht senden

3

22.03.2009, 09:39

Mit der ersten Klammer setzten meint er, dass wenn er den Funktionsnamen schreibt, und dann die erste Klammer schreibt, dass die Entwicklungsumgebung die Funktion erkennt und die Parameterliste anzeigt. Aber trotzdem erkennt der Compiler die Funktion nicht!

Was jetzt genau der Fehler ist, kann ich nicht sagen, aber meistens kommt soetwas, wenn man nicht alles eingebunden hat!

4

22.03.2009, 10:03

Wieder mal die üblichen Verdächtigen? ;)

Hast du InitDirect3D.cpp deinem Projekt hinzugefügt?

SDirect3DParameters g_Direct3DParameters deklariert?

Aufruf von tbInit() und tbExit() nicht vergessen.
fka tm

idontknow

unregistriert

5

22.03.2009, 11:02

so.

also erstmal Danke, ich habs versucht aber er kennt die Funktion immer noch nicht!!

Ich hab alle Dateien im Ordner allgemeinesd eingebunden das sind:
Allgemeines.h (und -.rc), InitDirect3D.h und -.cpp, Direct3DEnum.h und -.cpp, InitWindow.h und -.cpp!

Am Aufruf von tbInit und Exit kanns nicht liegen, da diese Dateien noch größtenteils unabhängig von der Engine arbeiten!

Trotz allem erkennt er diese beiden Funktikonen und gibt keine Fehler aus :/

C-/C++-Quelltext

1
SDirect3DParameters g_Direct3DParameters 

ist eine vordefinierte Globale Variable die in der Datei, Direct3DEnum.cpp deklariert wird!
Diese Datei habe ich acuh dem Projekt hinzugefügt, kein Resultat...
Die Funktion ist in der dazugehörigen Headerdatei deklariert und die habe ich acuh dem Projekt hinzugefügt!

also, ich weiß nicht woran das liegen kann....

edit:/
Anmerkung:
ICh sehe gerade er kompiliert die 3 eingebundenen *.cpp Dateien InitWindow/Direct3D, und Direct3DEnum ohne Fehler, und in diesen steht ja die Funktion, die globale Variable!

GR-PA

Treue Seele

Beiträge: 326

Wohnort: Daheim

Beruf: Faulenzer

  • Private Nachricht senden

6

22.03.2009, 15:37

extern SDirect3DParameters g_Direct3DParameters vergessen?
Signaturen werden überbewertet

Werbeanzeige