LNK2019 Nicht aufgelöstes Symbol - weshalb?[gelöst]
Verfasst: 08.07.2011, 20:48
Moin Community
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:
Hier ein paar Codeschnipsel:
Nach diesem Teil ergeben sich die Fehler:
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)".
Fehler:
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
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