Вопрос по undefined-reference, linker, opengl, c++ – Неопределенная ссылка на 'imp____glewEnableVertexAttribArray'

0

Я пытаюсь скомпилировать программу, которую я делаю, из учебного пособия, написанного на C ++ и open gl 2.1. Однако мне не нравится FreeGLUT, поэтому я решил изменить программу управления окнами на SFML. Моя проблема, однако, когда я пытаюсь собрать программу, я получаю следующие ошибки:

obj\Debug\main.o||In function `Z6renderv':|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|36|undefined reference to `_imp____glewUseProgram'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|37|undefined reference to `_imp____glewEnableVertexAttribArray'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|52|undefined reference to `_imp____glewVertexAttribPointer'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|56|undefined reference to `_imp____glewDisableVertexAttribArray'|
obj\Debug\main.o||In function `Z11initShadersv':|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|62|undefined reference to `_imp____glewCreateProgram'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|67|undefined reference to `_imp____glewLinkProgram'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|68|undefined reference to `_imp____glewGetProgramiv'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|76|undefined reference to `_imp____glewGetAttribLocation'|
obj\Debug\main.o||In function `Z16initVertexShaderv':|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|86|undefined reference to `_imp____glewCreateShader'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|95|undefined reference to `_imp____glewShaderSource'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|96|undefined reference to `_imp____glewCompileShader'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|97|undefined reference to `_imp____glewGetShaderiv'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|103|undefined reference to `_imp____glewAttachShader'|
obj\Debug\main.o||In function `Z18initFragmentShaderv':|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|109|undefined reference to `_imp____glewCreateShader'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|119|undefined reference to `_imp____glewShaderSource'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|120|undefined reference to `_imp____glewCompileShader'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|121|undefined reference to `_imp____glewGetShaderiv'|
C:\Users\Jordanh\Documents\Code Blocks\GL_2-Lesson-1\main.cpp|128|undefined reference to `_imp____glewAttachShader'|
||=== Build finished: 18 errors, 0 warnings ===|

Я включил в программу следующие библиотеки:

#include <GL/glew.h>
#include <SFML/System.hpp>
#include <SFML/Window.hpp>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>

Я также связываю это:

-lsfml-system
-lsfml-window
-lopengl32
-lglu32
-lglew32
возможный дубликатHow to use GLEW with MinGW Nicol Bolas

Ваш Ответ

3   ответа
2

imp_ * & Quot; разнообразие вызвано попыткой связать библиотеку, скомпилированную / для Visual Studio / MSVC.

Решение состоит в том, чтобы загрузить двоичные файлы или скомпилировать для вашей конкретной платформы (часто это относится к mingw32).

0

использование#pragma comment(lib, "glew32.lib") после включения библиотеки. glew32.lib

Ну, я скачал и добавил библиотеку glew и включил ее в каталог компиляторов в кодовых блоках. Я только что добавил вам предложение, и компилятор выдает следующее: & quot; предупреждение: игнорирование #pragma comment & quot; Darestium
1

http://julianibarz.wordpress.com/2010/05/12/glew-1-5-4-mingw32/

Получил GLEW для mingw32 - проект компилируется нормально.

Похожие вопросы