OpenGL / GLEW: Неразрешенный внешний _glewInit - PullRequest
3 голосов
/ 08 февраля 2012

Я не могу заставить GLEW правильно связать мою программу.

У меня правильный путь в моем проекте (я трижды проверил), я пробовал строить с нуля, используя библиотеки x86 (все 4- -s, -mxs и т. д.) и библиотеки x64.

Я попытался использовать директиву #pragma вместо настройки своего проекта в свойствах.

Я пытаюсь получить его какстатическая библиотека, поэтому DLL не нужны.

У меня также определен GLEW_STATIC, как советуют инструкции по сборке.

Сообщение об ошибке:

OGLInit.obj:ошибка LNK2019: неразрешенный внешний символ _glewInit @ 0, указанный в функции "bool __stdcall vexal :: OGLStartup (void)" (? OGLStartup @ vexal @@ YG_NXZ)

Я даже использовал dumpbin, чтобы проверить, чтоinitGlew есть.Он есть, и он внешний.

Я также подтвердил, что нашел библиотеку.

Поиск C: \ Users \ Jake \ Documents \ Vexal2 \ vexal \ vc9_x86 \ lib\ Debug \ GLEW.lib:

У меня закончились идеи здесь.Любая помощь?

Ответы [ 2 ]

1 голос
/ 08 февраля 2012

Проблема заключалась в соглашении о вызовах. Я изменил настройки соглашения о вызовах на __stdcall вместо __cdecl, изменил _glfwTerminate_atexit( void ) на __cdecl в имеющемся у меня коде GLFW, а затем собрал.

Исправлено!

1 голос
/ 08 февраля 2012

Да. Я перестроил его, используя проект glew_static.

То, что вы создали этот проект, не означает, что вы связываете с ним.

C: \ Users \ Jake \ Documents \ Vexal2 \ vexal \ vc9_x86 \ Lib \ Debug \ GLEW.lib

Это не статическая библиотека GLEW. Это библиотека импорта для DLL-версии GLEW. Статическая библиотека GLEW называется GLEW32s.lib. Ссылка на это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...