Ошибки связывания GLEW [дубликаты]

Я пытаюсь собрать пример программы GLSL с веб-сайта, чтобы я мог почувствовать шейдеры.

Пример программы шейдера взят с http://www.swiftless.com/tutorials/glsl/1_setup.html#DL

1>------ Build started: Project: TheLightingExperiment2, Configuration: Debug Win32 ------

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewAttachShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCompileShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewShaderSource

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewCreateShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteProgram

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDeleteShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewDetachShader

1>shader.obj : error LNK2001: unresolved external symbol __imp____glewUseProgram

1>C:\Users\Shawn\Desktop\TheLightingExperiment2\Debug\TheLightingExperiment2.exe : fatal error LNK1120: 10 unresolved externals

========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========

Ошибки появляются из-за неправильного связывания glew. Но я следую документации glew для связывания glew @ http://glew.sourceforge.net/install.html

И это все еще дает мне эти ошибки. Я поместил glew32.lib в компоновщик->ввод. Я поместил glew32.lib в каталог VC lib, а glew включает в каталог VC include. Судя по моей проблеме, это похоже на решение, но у меня это не работает.


person shawn a    schedule 26.08.2012    source источник
comment
Эти ошибки компоновки не имеют ничего общего с GLSL, шейдерами или чем-то подобным. Это просто сбой с привязкой к GLEW, который вы используете для загрузки OpenGL.   -  person Nicol Bolas    schedule 27.08.2012
comment
Как я могу решить эти ошибки?   -  person shawn a    schedule 27.08.2012
comment
#pragma comment(lib, glew32.lib   -  person Seyed Morteza Kamali    schedule 27.12.2018
comment
Да, это была ошибка, которая была и у меня. вам нужно включить opengl32.lib в настройки компоновщика.   -  person Eric Petersen    schedule 12.01.2020


Ответы (3)


Избавьте себя от много проблем и просто добавьте glew.c в свой проект. Убедитесь, что вы #define GLEW_STATIC, и все будет хорошо. Не стоит пытаться динамически связываться с GLEW.

person TheBuzzSaw    schedule 27.08.2012

Я столкнулся с той же проблемой связывания, используя VS.

Оказалось, что нужно использовать Win32 lib вместо x64.

person shrekshao    schedule 21.09.2014

Соберите glew с директивой препроцессора GLEW_BUILD (т. е. настройки проекта glew -> c/c++ -> препроцессор -> дополнительные определения)

person Calvin1602    schedule 27.08.2012