我在程序中使用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
中看到此文件
有人可以帮我编译一下吗? 或其他任何建议,因为我在这里很困。
答案 0 :(得分:0)
由于我没有从任何人那里得到答案,但是我终于解决了这个问题。 因此,如果有人遇到类似问题,想发布解决方案。
我通过在cflag中添加-I/usr/lib64/dbus-1.0/include/
解决了这个问题。
答案 1 :(得分:0)
最新答案。但是,这对于使用ubuntu(18.04 lts)进行WSL(Windows子系统)工作的人可能会有所帮助。
包含的文件夹是
还与链接:
如果在那里找不到任何内容,请尝试: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