Как мне найти имя библиотеки glx?

Я пытаюсь использовать функцию glX (glXSwapIntervalMESA()), но компилятор возвращает неопределенную ошибку ссылки.

Я пробовал связываться с X11 а также Xext, а также glx Хотя последняя библиотека, видимо, не существует. libGL включает в себя некоторые точки входа для glx, но я предполагаю, что другие (например, та, которую я пытаюсь использовать) зависят от платформы *.

Я не могу найти нигде, который скажет мне, как найти имена этих зависимых от платформы библиотек. Как определить настройки компоновщика для данной системы, чтобы использовать glx для данной системы?

(* Я думаю, это потому, что я видел пример настроек компоновщика с нечетными именами библиотек.)

1 ответ

Решение

Функция, которую вы хотите использовать, является функцией расширения, и вам нужно будет динамически загрузить ее в указатель на функцию. Я бы предложил использовать любую из доступных библиотек загрузчика расширений (glew, gl3w, glad...), чтобы упростить этот процесс. В качестве альтернативы рассмотрите библиотеку более высокого уровня, такую ​​как SDL, которая позаботится о многих вещах для вас, что должно включать в себя обмен, как в этом случае.

Другие вопросы по тегам