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

07.05.2004, 22:36

Fehler in tbVector2 Klasse?

Ich hab ein echt dämliches Probelm, das eigentlich völlig unlogisch ist:

Quellcode

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
m_Dreieck[0].vPosition=tbVector3(0.0f, 1.0f, 0.0f);
    m_Dreieck[0].Color=0xff0000ff;
    m_Dreieck[0].vTexture=tbVector2(0.0f, 0.0f);

    m_Dreieck[1].vPosition=tbVector3(1.0f, 0.0f, 0.0f);
    m_Dreieck[1].Color=0xff0000ff;
    m_Dreieck[1].vTexture=tbVector2(1.0f, 1.0f);

    m_Dreieck[2].vPosition=tbVector3(0.0f, 0.0f, 0.0f);
    m_Dreieck[2].Color=0xff0000ff;
    m_Dreieck[2].vTexture=tbVector2(0.0f, 1.0f);


    m_Dreieck[3].vPosition=tbVector3(0.0f, 1.0f, 0.0f);
    m_Dreieck[3].Color=0xff0000ff;
    m_Dreieck[3].vTexture=tbVector2(0.0f, 0.0f);

    m_Dreieck[4].vPosition=tbVector3(0.0f, 1.0f, 0.0f);
    m_Dreieck[4].Color=0xff0000ff;
    m_Dreieck[4].vTexture=tbVector2(1.0f, 1.0f);

    m_Dreieck[5].vPosition=tbVector3(1.0f, 1.0f, 0.0f);
    m_Dreieck[5].Color=0xff0000ff;
    m_Dreieck[5].vTexture=tbVector2(1.0f, 0.0f);

verursacht:

Quellcode

1
2
3
4
inker-Vorgang läuft...
Cube.obj : error LNK2001: Nichtaufgeloestes externes Symbol "__declspec(dllimport) public: class tbVector2 __thiscall tbVector2::operator=(class tbVector2 const &)" (__imp_??4tbVector2@@QAE?AV0@ABV0@@Z)
Release/3DTest.exe : fatal error LNK1120: 1 unaufgeloeste externe Verweise
Fehler beim Ausführen von link.exe.

Ich habe zueerst versucht nur ein Dreieck anzuzeigen (0-2). Hat auch alles wunderbar geklappt. Dann hab ich das Array von 3 auf 6 erweitert und die definitionen des 2 Dreieck eingebaut. Und schon kommt dieser Fehler!
Das lsutiges ist, das wenn ich "_Dreieck[5].vTexture=tbVector2(1.0f, 0.0f);" auskommentiree, der Fehler nicht mehr auftritt. Was noch viel lusitger ist, ist das ich auch jede Andere Zuweisung die tbVector2 nutz auskommentiren kann. Das bedeutet also, das ich tbVecotr2 nur 5 mal aufrugfen kann! Sobald ich es 6 mal schreibe, kommt dieser Blödsinnige Kompilerfehler!
Meiner Meinung nach ist das ein Ding der unmöglichkeit und vieleicht ein Bug im Kompiler oder in der Vecortklasse. Aber vieleicht weiß ja einer von euch, was ich tun muss um alle 6 Vertices Texturkoordinaten hinzzuzufügen!

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

07.05.2004, 23:30

Hmm, ich kann den Fehler leider nicht reproduzieren.
Bei mir funktioniert es... scheint wohl wirklich ein Bug im Compiler zu sein.

3

08.05.2004, 09:51

Vieleicht liegt es ja auch an irgendwelchen Einstellungen. Soll ich das Projekt vieleicht mal zippen und schicken? Wenn du nen anderen Compiler hast (VC7 oder so) könnte man es damit testen, und sehen woran es liegt.
Den der Quellcode den ich gepostet hab muss aj eigentlich richtig sein. Nur beim linken gibt es Probleme.

4

08.05.2004, 10:04

OK ich hab einfach mal den kompletten Arbeitsbereich gelöscht, einen neuen erstellt und die Quellcodedateien wieder eingefügt. Dann hab ich die benötigten lib dateien wieder eingestellt und kompiliert. Jetz scheints zu gehen.War wohl ziemlich sicher ein Bug in VC++, der das Projekt geschrottet hat.
Also im zweifelsfalle einfach noch mal alles neu machen.

Werbeanzeige