2013-07-16 2 views
2

Я пытаюсь использовать glDrawArraysInstancedBaseInstance, но компоновщик жалуется, что __glewDrawArraysInstancedBaseInstance не решен.glew не извлекает glDrawArraysInstancedBaseInstance

glew-1.9.0 установлен на машине, и насколько я могу судить, он должен связывать его.

Как временная работа вокруг, я просто получаю функцию самостоятельно, которая работает. Но это не помогает мне понять, почему glew, похоже, не работает для этой функции.

И на самом деле Glew не кажется, работает для чего OPENGL 3.3+

Чтобы проверить, что функция должна быть доступна я использую glfwExtensionSupported("GL_ARB_base_instance").

Чтобы быть ясным, это функция GLFW, а не проверка расширения GLEW.

Я использую glfw создать свое окно и контекст профиля 4.3 ядра

Моя система:
NVidia GTX 550, с последними версиями драйверов
Ubuntu 12,04

Чтобы скомпилировать это я с помощью CMake для замыкающих файлов и в CMakeLists.txt:
target_link_libraries(app GL GLU GLEW glfw)

+0

Какой компилятор вы используете, и можете ли вы отредактировать свой вопрос, чтобы включить полный вызов командной строки компилятора (что-то вроде 'g ++ foo.cpp ...') –

+1

Также, согласно этому сообщению об ошибке, похоже, что вы пытаясь вызвать 'glewDrawArraysInstancedBaseInstance', где вы хотите' glDrawArraysInstancedBaseInstance' –

+0

Я вызываю 'glDrawArraysInstancedBaseInstance', но отчеты компоновщика' __glewDrawArraysInstancedBaseInstance' – tamato

ответ

1

это оказывается, что при установке glew-1.9.0, она устанавливается на /usr/lib64, и это была только одна из двух проблем, которые происходили.

Одна из проблем заключалась в том, что glew-1.7.0 был установлен в /usr/local/lib64, и мое приложение использовало эту версию glew.

  • Я нашел это, делая find /usr -name libGLEW*

И другой, что ldconfig не знал о /usr/lib64.

  • Это был найден, делая ldconfig -p > report.txt и смотреть, чтобы увидеть, что каталоги ldconfig глядела. Который оказался полезным, потому что я думал, что /usr/lib64 был «доверенным» каталог, и это было не так.

Вооруженный этой информацией glew-1.7.0 была удалена, ldconfig был обновлен, и теперь все работает, как ожидалось.