Tente incluir os cabeçalhos de /usr/include
, /usr/X11R6/include
e /usr/local/include
.
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?
Tente incluir os cabeçalhos de /usr/include
, /usr/X11R6/include
e /usr/local/include
.
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 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.