Как JOGL ищет библиотеки OpenGL? - PullRequest
4 голосов
/ 06 декабря 2008

Я пишу настольное приложение с использованием JOGL и развертываю на Win / Mac / Linux. В Linux мы обнаруживаем, что установленные библиотеки OpenGL не всегда подходят для работы, и нам нужно иметь возможность включить собственную эмуляцию программного обеспечения OpenGL. Естественно, мы ожидали, что сможем размещать библиотеки после / usr / lib или до / usr / lib в пользу наших или по умолчанию.

Оказывается, что наши подобраны преимущественно JOGL. Кто-нибудь знает, выполняют ли библиотеки JOGl специальную обработку в поисках libGL и т. Д., Предпочитая, возможно, более позднюю версию, чем более раннюю? Любая информация приветствуется.

1 Ответ

3 голосов
/ 05 августа 2009

Я предполагаю, что сторона Java JOGL использует JNI (собственный интерфейс Java) для взаимодействия с собственными библиотеками. JNI использует системную переменную Java java.library.path для поиска собственных библиотек. Вы можете установить его в командной строке, используя ключ -D при запуске Java-приложения:

java -Djava.library.path=/some/path mypackage.MyProgram

Также может быть, что нативная система сама не подбирает нужные библиотеки OpenGL. В Linux вы можете установить переменную среды LD_LIBRARY_PATH, чтобы указать, где Linux должен искать общие библиотеки. Эта страница объясняет больше (см. Раздел 3.3.1).

Обратите внимание, что вы можете получить исходный код JOGL на домашней странице JOGL, поэтому, если вы действительно хотите знать, вы можете скачать его и начать копаться в нем.

(почему существует глупое ограничение: «новые пользователи могут размещать только одну гиперссылку» ????)

...