Есть ли способ смоделировать LD_LIBRARY_PATH в Windows?

У меня есть программа, делающая графику. Когда я запускаю его в интерактивном режиме, я хочу, чтобы он использовал OpenGL из системы для предоставления графики с аппаратным ускорением. Когда я запускаю его в пакетном режиме, я хочу иметь возможность перенаправить его для использования библиотеки Mesa GL, чтобы я мог использовать функциональность OSMesa для рендеринга в закадровый буфер. Функциональность OSMesa включается путем выполнения LoadLibrary / GetProcAddress, если выбрана опция пакетного запуска.

В Linux это довольно легко сделать. Используя сценарий оболочки для вызова программы, я могу сделать что-то вроде этого:

if [ "$OPTION" = "batch" ]; then
  export LD_LIBRARY_PATH=$PATHTO/mesalibs:$LD_LIBRARY_PATH
fi

Можно ли что-то сделать в Windows?

Когда я пытаюсь добавить каталог в переменную PATH, программа продолжает переход к система opengl32.dll. Единственный способ заставить программу использовать разделяемые библиотеки Mesa GL / OSMesa - это разместить их в том же каталоге, что и моя программа. Однако, когда я это сделаю, программа никогда не будет использовать системный opengl32.dll.

6
задан likso 25 January 2012 в 19:04
поделиться