PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Linkerfehler : long __stdcall WndProc(.. bla bla .. )


badphantom
02.12.2007, 16:00
Moin,

eben dieser Linkerfehler erscheint beim kompilieren. Aeusserst resistent.
Nach Googlerecherchen sollte dieser schon laengst verschwunden sein.

Gelinkte Libs: user32.lib GLu32.lib OpenGL32.lib GLaux.lib winmm.lib gdi32.lib
param: /subsystem:Windows


#include "stdafx.h"
#include <windows.h>
#include <gl\GLU.h>
#include <gl\GL.h>
#include <gl\GLAux.h>
...
error LNK2019: Verweis auf nicht aufgelöstes externes Symbol ""long __stdcall WndProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WndProc@@YGJPAUHWND__@@IIJ@Z)" in Funktion ""int __cdecl CreateGLWindow(char *,int,int,int,bool)" (?CreateGLWindow@@YAHPADHHH_N@Z)".
MSVS 2005

Das ganze soll ein Fenster oeffnen, fuer OpenGL Anwendung( erstmal ein leeres )

Was fehlt da?


Jan Krüger
02.12.2007, 20:05
Zuerst mal: die Liste der eingebundenen Header hat typischerweise nichts mit Linkerfehlern zu tun.

Ich würde darauf tippen, dass du die Funktion "WndProc", die du in CreateGLWindow verwendest, zu definieren vergessen hast.

Ein Komplettbeispiel inkl. WndProc, das übrigens zufälligerweise auch eine Funktion namens CreateGLWindow besitzt, findest du hier: http://www.morrowland.com/apron/tutorials/gl/gl_window.php

badphantom
03.12.2007, 18:02
Danke Jan. Scheint es gewesen zu sein.

Zuerst mal: die Liste der eingebundenen Header hat typischerweise nichts mit Linkerfehlern zu tun.

Was ist mit #pragma(lib...) ? Wuerde das andere Fehler hervorrufen?

Jan Krüger
05.12.2007, 16:20
Die lib-#pragmas sind meines Wissens eine Spezialität des MS-Compilers, die an den Linker durchgereicht werden. Die können sich also schon auf den Linker auswirken.