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

24.08.2006, 18:27

Problem mit Aufgabe 1 aus dem Buch von Scherfgen

Hallo,
ich versuche gerade mich an die Aufgabe 1 vom Buch 3D-Spieleprogrammierung zu machen(die mit den 5000 zufälligen Vektoren)
Jetzt tritt ein problem mit dem Linker auf:

Code:

C-/C++-Quelltext

1
2
3
4
5
6
7
8
9
10
11
#include "tribase.h"

int main()
{
    tbVector3 vector;
    for(int i=0; i<5000;i++)
    {
        vector = tbVector3Random();
    }
    return 0;
}


Ausgabe:

Zitat


1>------ Erstellen gestartet: Projekt: uebung 1, Konfiguration: Debug Win32 ------
1>Kompilieren...
1>main.cpp
1>Verknüpfen...
1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""__declspec(dllimport) float __cdecl tbFloatRandom(float,float)" (__imp_?tbFloatRandom@@YAMMM@Z)" in Funktion "_main".
1>C:\Dokumente und Einstellungen\user\Eigene Dateien\Programmieren\C++, DirectX\Übungenb\2.2.8 - Übung 1\uebung 1\Debug\uebung 1.exe : fatal error LNK1120: 1 nicht aufgelöste externe Verweise.
1>Das Buildprotokoll wurde unter "file://c:\Dokumente und Einstellungen\user\Eigene Dateien\Programmieren\C++, DirectX\Übungenb\2.2.8 - Übung 1\uebung 1\uebung 1\Debug\BuildLog.htm" gespeichert.
1>uebung 1 - 2 Fehler, 0 Warnung(en)
========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========


Woran liegts? Da ich Einsteiger bin habe ich keine Ahnung.
Vielen Dank im Voraus
Blackjack

2

24.08.2006, 18:30

Du musst noch die TriBaseD.lib bzw. TriBase.lib linken!

3

24.08.2006, 18:35

Danke für die schnelle Antwort.
Also ich habe Visual c++ Express Edition 2005 und unter VC++-Verzeichniss --> Bibliotheksdateien habe ich den Ordner C:\ ...\Tribase\Lib angegeben wenn du das meinst. aber FUNKTIONIERT NICHT ... :-(
Mfg Erik

DarkFitzi

Alter Hase

Beiträge: 608

Wohnort: Eisenberg, Thüringen

Beruf: Schüler, 10te Klasse

  • Private Nachricht senden

4

24.08.2006, 18:43

setzt mal das vor der main ein

C-/C++-Quelltext

1
2
3
4
5
#ifdef _DEBUG   // Debug-Modus

#pragma comment(lib,"TriBaseD.lib")
#else           // Release-Modus

#pragma comment(lib,"TriBase.lib")
#endif

und mach aus dem

C-/C++-Quelltext

1
#include "TriBase.h"
ein

C-/C++-Quelltext

1
#include <TriBase.h>


auserdem wärest du gut daran tbInit und tbExit aufzurufen ;)
Ich würde die Welt gern verbessern, doch Gott gibt mir den Sourcecode nicht! :-(

5

24.08.2006, 19:01

Juhuuuu
Danke. Mit dem ifdef ... funktionierts. Dann musste ich zwar noch die tribase.dll in den Ordner tun aber das war ja nicht das Problem.
Jetzt muss das doch aber auch ohne Das ifdef ... funktionieren oder nicht?
Mfg Erik
Nochmal Danke für die Hilfe.

Das Gurke

Community-Fossil

Beiträge: 1 996

Wohnort: Pinneberg

Beruf: Schüler

  • Private Nachricht senden

7

24.08.2006, 19:09

Okay danke vielmals ...

8

24.08.2006, 20:00

Und du musst die dll auch net in den Ordner tuen... einfach das Verzeichnis bekannt machen und das wars...
Devil Entertainment :: Your education is our inspiration
Der Spieleprogrammierer :: Community Magazin
Merlin - A Legend awakes :: You are a dedicated C++ (DirectX) programmer and you have ability to work in a team? Contact us!
Siedler II.5 RttR :: The old settlers-style is comming back!

Also known as (D)Evil

9

24.08.2006, 20:25

unter welcher kategorie muss ioch das verzeichnis mit den dll's bekanntgebem?

Werbeanzeige