Mir sind soeben einige kleine aber nervige Linker Errors untergekommen, doch ich weiss einfach nicht,
woran es liegen mag! :oops: Ich habe mir auch schon die Finger wund gegoogelt aber trotzdem nichts gefunden...
Ach ja, mein Compiler ist Visual C++ 2010 Express
Mein Programm sollte eig. nur ein Standbild meines Levels ausgeben. Ich benutze die Engine Genesis3D http://www.genesis3d.com
Es ist in 2 Dateien aufgeteilt:
- Game.hpp (allg. Deklarationen)
winmain.cpp (hauptfunktion (war ja klar))
+Engine
Hier ein paar Codeschnipsel:
Code: Alles auswählen
Datei: Game.hpp
void TGame::CreateGame ()
{
geRect WorldScreen; //Anzeigefläche
char WorldName[64]; //Name der Welt/Level
geVFile *WorldFile; //BSP-Datei (Welt/Level)
//3D Engine initialisieren
Engine = geEngine_Create (GHandle, GVersion, ".");
if (!Engine) ExitError("3D-Engine konnste nicht gestartet werden!");
//Anzeigedaten für Engine abschalten
geEngine_EnableFrameRateCounter(Engine, GE_FALSE) ;
//Treiber auswählen
SetDriver();
//Anzeigefläche festlegen
WorldScreen.Left= 0;
WorldScreen.Right = MaxWidth -1;
WorldScreen.Top = 0;
WorldScreen.Bottom = MaxHeight -1;
//Koordinaten-Matrix setzen
geXForm3d_SetIdentity (&XForm);
//Kamera initialisieren
Camera = geCamera_Create (2.0, &WorldScreen);
if (!Camera) ExitError ("Kamera konnte nicht installiert werden! :'(");
//Bsp Datei laden
strcpy (WorldName, Pfad);
strcat (WorldName, BSP_Datei);
WorldFile = geVFile_OpenNewSystem(NULL, GE_VFILE_TYPE_DOS, WorldName, NULL, GE_VFILE_OPEN_READONLY);
//Wenn Datei ok, Welt/Level erzeugen
if (WorldFile)
{
World = geWorld_Create(WorldFile);
geVFile_Close(WorldFile);
};
if (!World) ExitError("Welt/Level lässt sich nicht erzeugen!");
//Welt/Level mit 3D Engine verknüpfen
if (!geEngine_AddWorld(Engine, World)) ExitError ("Welt/Level lässt sich nicht einbinden!");
}
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_AddWorld" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geVFile_Close@4" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geWorld_Create" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geVFile_OpenNewSystem@20" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geCamera_Create@8" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geXForm3d_SetIdentity@4" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_EnableFrameRateCounter" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_CreateWithVersion" in Funktion ""public: void __thiscall TGame::CreateGame(void)" (?CreateGame@TGame@@QAEXXZ)".
Code: Alles auswählen
Datei: Game.hpp
void TGame::RunGame ()
{
//Koordinaten und winkel ausrichten
geXForm3d_SetIdentity (&XForm);
geXForm3d_RotateX (&XForm, 0.0);
geXForm3d_RotateY (&XForm, 0.0);
geXForm3d_RotateZ (&XForm, 0.0);
geXForm3d_Translate(&XForm, 0.0, 0.0, 0.0);
geCamera_SetWorldSpaceXForm (Camera, &XForm);
//Rendering starten
if(!geEngine_BeginFrame(Engine, Camera, GE_TRUE)) ExitError ("Beginn Frame gescheitert!");
//Welt/Level rendern und darstellen
if (!geEngine_RenderWorld (Engine, World, Camera, 0.0)) ExitError ("Rendering gescheitert");
//Rendering beenden
if (!geEngine_EndFrame (Engine)) ExitError ("End Frame gescheitert!");
}
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_EndFrame" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_RenderWorld" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_geEngine_BeginFrame" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geCamera_SetWorldSpaceXForm@8" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geXForm3d_Translate@16" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geXForm3d_RotateZ@8" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geXForm3d_RotateY@8" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
1>winmain.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "@geXForm3d_RotateX@8" in Funktion ""public: void __thiscall TGame::RunGame(void)" (?RunGame@TGame@@QAEXXZ)".
So geht das da immer weiter...
Sagt mir Bescheid, wenn ich mehr Codes schreiben soll.
Hoffe auf schnelle Antworten und danke schonmal im voraus!
Durza