OpenGL в Visual Studio — проблемы с GLEW

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

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. Я скопировал библиотеки и включения в C:\Program Files (x86)\Microsoft SDK\Windows\v6.0A\Lib и Include соответственно. Пути Lib и Include также были добавлены в свойства моего проекта в разделе «Дополнительные каталоги библиотеки/включения».

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

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

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


person BalsamicVinegar    schedule 27.09.2012    source источник


Ответы (1)


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

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

  • Пересоберите GLEW с определением препроцессора GLEW_BUILD (Проект->Свойства->C++->Препроцессор->Дополнительные определения). Затем перестройте свое приложение.
  • Не стройте GLEW вообще. Просто поместите glew.c в проект вашего приложения. Это самый простой способ.
  • (мой любимый) Определите GLEW_STATIC в определениях препроцессора вашего приложения и перестройте.
person Calvin1602    schedule 27.09.2012
comment
Спасибо за это! Я попробую их, когда вернусь домой, и отмечу вопрос как ответ, если он решит мою проблему: D - person BalsamicVinegar; 28.09.2012