OpenGL в Visual studio - Проблемы с GLEW

В настоящее время я следую инструкциям openglbook.com ( настройка) ( Tutorial) и столкнулся с проблемой довольно рано. Я получаю следующие две ошибки:

1>main.obj : error LNK2019: unresolved external symbol __imp__glewGetErrorString@4 referenced in function _Initialize
1>main.obj : error LNK2019: unresolved external symbol __imp__glewInit@0 referenced in function _Initialize

Я скачал и скомпилировал FreeGLUT 2.8.0, а также двоичные файлы GLEW 1.9.0. Я скопировал libs и включает в C:\Program Files (x86)\Microsoft SDKs\Windows\v6.0A\Lib и Include соответственно. Пути к файлам Lib и Include также были добавлены в свойства моего проекта в разделах Дополнительная библиотека / Включить каталоги.

Я также определил glew32.lib и freeglut.lib в моем компоновщике->Input-> Дополнительные зависимости.

Я включил GL/glew.h и GL/freeglut.h вверху моего основного файла.

Что мне не хватает? Любой другой поток, который я нашел, был решен путем добавления каталогов в свойства проекта. У кого-нибудь есть какие-либо идеи?

1 ответ

Решение

Это означает, что вы пытаетесь использовать GLEW в качестве DLL (потому что ваше приложение ищет имя, начинающееся с __imp, например "import"), но вы не создали GLEW как DLL (потому что в противном случае это сработало бы).

3 возможных варианта:

  • Восстановите GLEW с помощью GLEW_BUILD определение препроцессора (Project->Properties->C++->Preprocessor-> Дополнительные определения). Затем перестройте свое приложение.
  • Не создавайте GLEW вообще. Просто поместите glew.c в проект вашего приложения. Это самый простой способ.
  • (мой любимый) Define GLEW_STATIC в определениях препроцессора вашего приложения и перестройте.
Другие вопросы по тегам