Большинство приложений (и библиотек), использующих OpenGL в Linux, загружают libGL.so
во время выполнения, используя dlopen
API, вместо динамического связывания с это.
Почему они это делают?
Единственная причина, по которой я могу представить, это то, что это ' s, потому что любой поставщик графических драйверов предоставляет другую libGL
, и две разные libGL
могут быть несовместимы с ABI. (Ну, гм, почему они должны быть несовместимы с ABI? И даже если они есть, почему загрузка их через dlopen
может решить эту проблему?)
В любом случае, если для этого есть веская причина, я Я бы тоже хотел это сделать. Есть ли у кого-нибудь ссылка на код C / C ++ с открытым исходным кодом, который загружает все функции OpenGL через dlopen
, которые я могу включить в свой проект, не требуя особых настроек?