최근에 Linux를 OpenBSD로 전환했습니다. 지금까지는 시스템을 실행하는 데 필요한 최소한의 내용을 포함하고 깔끔하고 간단한 코드를 강조하는 아이디어가 정말 마음에 들었습니다. 그러나 작은 문제에 직면했습니다. 저는 프로그래머이고 현재 OpenGL API를 사용하는 방법을 시도하고 배우고 있습니다. 그러나 Linux와 달리 /usr/include/GL
또는 /usr/local/include/GL
. screenfetch
및 에 표시된 대로 Intel 그래픽 드라이버를 사용하고 있습니다 dmesg
. Mesa/OpenGL API 헤더 파일을 설치하는 방법은 무엇입니까?
답변1
읽어주세요 hier(7)
. Xenocara(OpenBSD용 Xorg)는 /usr/X11R6
별도의 파티션이 있어야 합니다.
BSD Make는 mk 파일을 선호합니다. . /usr/share/mk
이들 중 일부는 거기에서 변수를 찾아 Makefile에 포함할 /usr/X11R6/share/mk
수 있습니다 .X11BASE
추신: 누군가가 제안했습니다 /usr/local/include
. OpenBSD는 기본 시스템과 타사 소프트웨어를 매우 명확하게 구분합니다.
/usr/X11R6
기본 시스템의 일부입니다. 결코 가지 않습니다 /usr/local
. 하지만 타사 소프트웨어(vim, kde, python)만 항상 /usr/local/
.
/usr/include
: 기본 시스템(제노카라 제외)/usr/X11R6/include
:기본 시스템(제노카라)/usr/local/include
: 타사 소프트웨어.
답변2
나는 당신이 찾고 있는 헤더가 /usr/X11R6/include/GL
. gl.h
및 ( 다른 것들 glx.h
중에서 glu.h
) 일반적인 OpenBSD 시스템에 있다고 생각합니다.
pkg-config
Makefile에서 사용할 수 있습니다 . 표준 OpenBSD Mesa에 필요한 컴파일러 플래그는 다음과 같습니다.
pkg-config --cflags osmesa
(반품 -I/usr/X11R6/include
)
GL도 마찬가지입니다.
pkg-config --cflags gl
(반품 -I/usr/X11R6/include -I/usr/X11R6/include/libdrm
)
바라보다pkg-config(1)
수동.
답변3
/usr/include
/usr/X11R6/include
, 및 의 헤더를 포함해 보세요 /usr/local/include
.