dbus-1.0 / dbus / dbus.h:29:10:致命错误:找不到'dbus / dbus-arch-deps.h'文件

时间:2019-05-29 06:41:58

标签: dbus google-chrome-os

我在程序中使用dbus,但是当我包含 #include <dbus-1.0/dbus/dbus.h> 我收到错误消息: dbus-1.0/dbus/dbus.h:29:10: fatal error: 'dbus/dbus-arch-deps.h' file not found

在dbus文件夹中没有dbus-arch-deps.h文件。

我可以在文件夹lib64/dbus-1.0/include/dbus/dbus-arch-deps.h中看到此文件

有人可以帮我编译一下吗? 或其他任何建议,因为我在这里很困。

4 个答案:

答案 0 :(得分:0)

由于我没有从任何人那里得到答案,但是我终于解决了这个问题。 因此,如果有人遇到类似问题,想发布解决方案。

我通过在cflag中添加-I/usr/lib64/dbus-1.0/include/解决了这个问题。

答案 1 :(得分:0)

最新答案。但是,这对于使用ubuntu(18.04 lts)进行WSL(Windows子系统)工作的人可能会有所帮助。

包含的文件夹是

  • /usr/lib/x86_64-linux-gnu/dbus-1.0/include
  • /usr/include/dbus-1.0

还与链接:

  • -ldbus-1

如果在那里找不到任何内容,请尝试:sudo apt-get install dbus-x11

答案 2 :(得分:0)

试试

sudo cp /usr/lib/x86_64-linux-gnu/dbus-1.0/include/dbus/dbus-arch-deps.h /usr/include/dbus-1.0/dbus/.

答案 3 :(得分:0)

问题是 dbus 需要两个不同的包含路径。无论如何,最好的方法是在这里使用 pkg-config。 pkg-config 文件 dbus-1.pc,实际上包括这些 cflags:

Cflags: -I${includedir}/dbus-1.0 -I${libdir}/dbus-1.0/include

因此,例如在 Manjaro 上,您将获得:

pkg-config --cflags dbus-1
-I/usr/include/dbus-1.0 -I/usr/lib/dbus-1.0/include

在 arm debian 上你会得到:

pkg-config --cflags dbus-1
-I/usr/include/dbus-1.0 -I/usr/lib/arm-linux-gnueabihf/dbus-1.0/include