VS 2008 Express: Linkerproblem



  • Hallo,

    ich beschäftige mich jetzt mit openGL.
    Obwohl ich die Bibliotheken OpenGL32.lib, GLu32.lib und GLaux.lib installiert und eingebunden habe, verweigert der Linker seine Arbeit.
    Die NEHE Tutorials bringe ich also nicht zum Laufen.
    Fehlermeldungen:

    1>------ Erstellen gestartet: Projekt: Lesson2, Konfiguration: Debug Win32 ------
    1>Kompilieren...
    1>main.cpp
    1>Verknüpfen...
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "_gluPerspective@32" in Funktion ""void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glLoadIdentity@0" in Funktion ""void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glMatrixMode@4" in Funktion ""void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glViewport@16" in Funktion ""void __cdecl ReSizeGLScene(int,int)" (?ReSizeGLScene@@YAXHH@Z)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glHint@8" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glDepthFunc@4" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glEnable@4" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glClearDepth@8" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glClearColor@16" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glShadeModel@4" in Funktion ""int __cdecl InitGL(void)" (?InitGL@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__glClear@4" in Funktion ""int __cdecl DrawGLScene(void)" (?DrawGLScene@@YAHXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__wglDeleteContext@4" in Funktion ""void __cdecl KillGLWindow(void)" (?KillGLWindow@@YAXXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__wglMakeCurrent@8" in Funktion ""void __cdecl KillGLWindow(void)" (?KillGLWindow@@YAXXZ)".
    1>main.obj : error LNK2019: Verweis auf nicht aufgelöstes externes Symbol "__imp__wglCreateContext@4" in Funktion ""int __cdecl CreateGLWindow(char *,int,int,int,bool)" (?CreateGLWindow@@YAHPADHHH_N@Z)".
    1>C:\Users\root\Documents\Visual Studio 2008\Projects\Lesson2\Debug\Lesson2.exe : fatal error LNK1120: 14 nicht aufgelöste externe Verweise.
    1>Das Buildprotokoll wurde unter "file://c:\Users\root\Documents\Visual Studio 2008\Projects\Lesson2\Lesson2\Debug\BuildLog.htm" gespeichert.
    1>Lesson2 - 15 Fehler, 0 Warnung(en)
    ========== Erstellen: 0 erfolgreich, Fehler bei 1, 0 aktuell, 0 übersprungen ==========

    weiß jemand, wo hier der Hund begraben liegt?

    Besten Dank für Eure Mühe



  • WIE hast Du die LIBs denn eingebunden?



  • Projekt - Eigenschaften - Linker - Allgemein - zusätzliche Bibliotheksverzeichnisse

    OpenGL32.lib; Glu32.lib; Glaux.lib

    Unter "Befehlszeile" steht:

    /OUT:"C:\Users\root\Documents\Visual Studio 2008\Projects\Lesson2\Debug\Lesson2.exe" /INCREMENTAL /NOLOGO /LIBPATH:"OpenGL32.lib" /LIBPATH:"GLu32.lib" /LIBPATH:"GLaux.lib" /MANIFEST /MANIFESTFILE:"Debug\Lesson2.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"C:\Users\root\Documents\Visual Studio 2008\Projects\Lesson2\Debug\Lesson2.pdb" /SUBSYSTEM:WINDOWS /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib



  • Ok, dann fangen wir mal ganz langsam an:
    Was heisst "Verzeichnis"?
    Was heisst: "Bibliotheksverzeichnis"?

    Also gut: Trage dort das *Verzeichnis* ein und dann füge die LIBs entweder mit
    #pragma comment(lib, "name.der.lib")
    im Source-Code ein oder unter "Additional Dependencies" ein (im Untertab "Input").



  • Jochen Kalmbach schrieb:

    Was heisst "Verzeichnis"?

    Ich war geradezu erschrocken als es fehlerfrei funktionierte.
    Naja, manchmal muß man sich entblöden lassen! 🤡

    Vielen Dank!


Anmelden zum Antworten