我想在我的c代码中包含
xf86drmMode.h
,但是当我这样做时,它说头文件中有一个错误,因为它找不到drm.h
。这是因为我的系统上没有drm.h
,只有libdrm/drm.h
。我到底要做什么?编辑标题?我的意思是我想我可以,但这会导致我的系统出现问题吗?
我尝试使用
sudo pacman -Syu linux-headers libdrm
但没有任何改变。也没有直接的 drm
软件包可供安装。
> ls /usr/include | grep "drm"
libdrm
xf86drm.h
xf86drmMode.h
> ls /usr/include/libdrm
amdgpu_drm.h drm_mode.h intel_bufmgr.h msm_drm.h r128_drm.h radeon_bo_int.h radeon_drm.h tegra_drm.h vmwgfx_drm.h
amdgpu.h drm_sarea.h intel_debug.h nouveau r600_pci_ids.h radeon_cs_gem.h radeon_surface.h vc4_drm.h
drm_fourcc.h i915_drm.h mach64_drm.h nouveau_drm.h radeon_bo_gem.h radeon_cs.h savage_drm.h via_drm.h
drm.h intel_aub.h mga_drm.h qxl_drm.h radeon_bo.h radeon_cs_int.h sis_drm.h virtgpu_drm.h
我要做什么?
将 /usr/include/libdrm 添加到编译器包含搜索路径。
通常使用构建系统。查看
pacman -Ql libdrm
的输出,我看到了 pkgconfig。用途:
gcc $(pkgconf --cflags --libs libdrm)
编译程序。如果您选中
pkgconf --cflags --libs libdrm
,您会看到它添加 -I/usr/include/libdrm
来编译包含搜索路径。
编辑标题?
没有。
这会导致我的系统出现问题吗?
是的。