Мне нужно динамически загружать функции openGL в системе Linux. Проблема в том, что когда я делаю это, glXCreateContextAttribsARB не удается при попытке создать контекст gl, и программа возвращается к использованию OGL 1.4. Должен быть на OGL 4.4. Если я просто использую разделяемую библиотеку и делаю обычные ссылки, код работает отлично. Так что есть проблема с использованием динамически загружаемой библиотеки, которую я не вижу. Функции загружаются с помощью dlopen / dlsym, и об ошибках не сообщается. Я попытался загрузить glXCreateContextAttribsARB, используя glxGetProcAddressARB, но это не имело никакого значения. Я в тупике. Какие-либо предложения?
Ubuntu 12.04LTS / GLX 1.4 / OGL 4.4 / Nvidia 331.62
Я нашел проблему. По какой-то причине код пытался использовать несовместимый визуал (24-битный FB вместо 32-битный). Я сделал список атрибутов для glxChooseVisual более точным в моих требованиях. Почему это работает с общими библиотеками, а не с динамическими библиотеками — загадка.