Настройка GLEW + CodeBlocks

Я хочу заставить GLEW работать с CodeBlocks и пытаюсь получить
первый метод, представленный на сайте для работы.
Это метод статической компиляции в исполняемый файл.
Но мне не удалось сделать это правильно.
Я на ПК, Windows 7, запускаю Кодовые блоки 10.05.

Вот что я сделал до сих пор:

  • Скачал GLEW 1.7.0
  • Распаковал на С:
  • Создал пустой проект в CodeBlocks
  • glew.h, wglew.h и glew.c перемещены в исходный каталог моего проекта.
  • Добавлены все три файла в проект
  • Изменен путь включения в glew.c для glew.h и wglew.h с

    #include <GL/glew.h> 
    #include <GL/wglew.h>
    

    to

    #include "glew.h"
    #include "wglew.h"
    
  • Создал простой основной файл со следующим кодом

    #define GLEW_STATIC
    #include "glew.h"
    
    int main() {
        glewInit();
        return 0;
    }
    

И при этом компиляция приведет к множеству предупреждений и ошибок.

  • Такие ошибки, как:

    glew.c|2933|undefined reference to `wglGetProcAddress@4'|
    glew.c|2934|undefined reference to `wglGetProcAddress@4'|
    glew.c|2935|undefined reference to `wglGetProcAddress@4'|
    glew.c|2936|undefined reference to `wglGetProcAddress@4'|
    
  • Предупреждения, такие как:

    glew.c|10050|warning: '__wglewReleaseVideoCaptureDeviceNV' redeclared without dllimport attribute: previous dllimport ignored|
    glew.c|10052|warning: '__wglewBindVideoImageNV' redeclared without dllimport attribute: previous dllimport ignored|
    glew.c|10053|warning: '__wglewGetVideoDeviceNV' redeclared without dllimport attribute: previous dllimport ignored|
    glew.c|10054|warning: '__wglewGetVideoInfoNV' redeclared without dllimport attribute: previous dllimport ignored|
    glew.c|10055|warning: '__wglewReleaseVideoDeviceNV' redeclared without dllimport attribute: previous dllimport ignored|
    

Где я ошибся?
Я буду рад поделиться дополнительной информацией, если это необходимо!


person Michael Mancilla    schedule 18.06.2012    source источник


Ответы (1)


Вы можете устранить эти ошибки, связав свою программу с opengl32 и этими предупреждениями, определив GLEW_STATIC также в glew.c перед #includes.

В любом случае ваша программа не будет работать, потому что вам нужно иметь действующий контекст OpenGL, прежде чем вы сможете использовать glewInit. Вам нужно создать его с помощью glut/glfw/SDL/wglCreateContext/etc.

person Community    schedule 26.07.2012