Por que não há um diretório / usr / include / GL no OpenBSD?

2

Acabei de fazer a troca do Linux para o OpenBSD. Até agora, estou realmente gostando da filosofia de incluir o mínimo necessário para executar o sistema e a ênfase no código limpo e simples. No entanto, enfrento um pequeno problema. Eu sou um programador e, no momento, estou experimentando e aprendendo a usar a API do OpenGL. Diferentemente do Linux, no entanto, não há /usr/include/GL ou /usr/local/include/GL . Estou usando o driver de gráficos Intel, conforme mostrado por screenfetch e dmesg . Como eu instalaria os arquivos de cabeçalho da API do Mesa / OpenGL?

    
por Safal Aryal 01.05.2018 / 12:34

3 respostas

0

Tente incluir os cabeçalhos de /usr/include , /usr/X11R6/include e /usr/local/include .

    
por 01.05.2018 / 14:03
0

Acredito que os cabeçalhos que você está procurando estejam localizados em /usr/X11R6/include/GL . Isto onde gl.h , glx.h e glu.h (e outros) vivem em um sistema OpenBSD vanilla.

Você pode usar pkg-config no seu Makefile. Os flags do compilador necessários para o padrão OpenBSD Mesa são dados por

pkg-config --cflags osmesa

(retorna -I/usr/X11R6/include )

E, da mesma forma, para o GL:

pkg-config --cflags gl

(retorna -I/usr/X11R6/include -I/usr/X11R6/include/libdrm )

Veja o manual pkg-config(1) .

    
por 02.05.2018 / 08:50
0

Por favor, leia hier(7) . Xenocara (Xorg do OpenBSD) fica em /usr/X11R6 . Ele deve ter partição separada.

BSD Tende a usar arquivos mk. Arquivos especiais em /usr/share/mk . Algumas delas incluem /usr/X11R6/share/mk . Você pode encontrar a variável X11BASE lá para incluí-la no seu Makefile.

PS: Algumas pessoas sugerem /usr/local/include . Por favor, note que o OpenBSD possui uma distinção muito clara entre o sistema base e o software de terceiros.

/usr/X11R6 faz parte do sistema básico. Nunca vai para /usr/local . Mas apenas um software de terceiros (vim, kde, python) sempre vai para /usr/local/ . Então:

  • /usr/include : sistema base (exceto Xenocara)
  • /usr/X11R6/include : sistema base (Xenocara)
  • /usr/local/include : software de terceiros.
por 03.05.2018 / 20:16