#c #opengl #compiler-construction
#c #opengl #компилятор-конструкция
Вопрос:
Я использую Visual Studio C и GLEW. Все настройки проекта установлены (включает / Библиотеки).
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewUseProgramObjectARB
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewLinkProgramARB
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewAttachObjectARB
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCompileShader
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewShaderSource
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCreateShader
MenuState.obj : error LNK2001: unresolved external symbol __imp____glewCreateProgramObjectARB
Это единственные сообщения, которые я получаю. Все работало нормально, пока я не попытался реализовать шейдер.
Проблема в том, что я работаю на виртуальной машине, поэтому мой вопрос: нужен ли GLEW opengl32.lib в качестве зависимости? Потому что, если я не добавлю opengl32.lib в компоновщик, я получу еще больше ошибок. И если да, может ли проблема быть вызвана opengl32.lib? Поскольку я думаю, что opengl32.lib является стандартным Windows opengl32.lib, это будет означать, что это только opengl 1.1, и поэтому он не может связываться…
Итак, в чем проблема с этими ошибками?
Комментарии:
1. Вам необходимо установить связь с библиотекой glew. Вы это делаете?
2. @icktoofay Что такое
glue32.lib
?3. @Christian: Извините, я ввел ошибку. Я думал о том, как я бы произнес
glew
, и случайно набрал его.4. @user986803 Вы не должны ссылаться как на статические, так и на динамические библиотеки GLEW, поэтому просто удалите
...s.lib
версии.5. Для работы GLEW вы должны связать с
glew32.lib
,glu32.lib
, иopengl32.lib
, как указано в инструкциях по установке . Кроме того: на какой версии Visual Studio вы работаете? Может быть. используемые вами lib-файлы были сгенерированы с другой версией, что делает их непригодными для использования в вашей версии. Создание GLEW самостоятельно должно это исправить.
Ответ №1:
Перед включением GLEW в Windows обязательно укажите #define GLEW_STATIC в проекте. Затем вы можете просто включить весь исходный код в файлы вашего проекта. В противном случае вам необходимо иметь соответствующий файл GLEW DLL в вашем исполняемом файле.