出于演示目的,这是我的一行程序 test.c :
#include <dbus/dbus.h>
这是我的生成文件:
INC = -I/usr/include/dbus-1.0 \
-I/usr/lib/dbus-1.0/include
test : test.c
gcc $(INC) -c -o test.o test.c
我在 Mer Linux(通过 zypper)和 Cygwin(通过安装程序)上安装了 dbus devel 软件包。 dbus/dbus.h 在两个系统上都可见(ls /usr/include/dbus-1.0 显示包含文件 dbus.h 的文件夹 dbus)。这在 Mer Linux 上编译成功,但在 Cygwin(在 Win 7 上运行的 2.831 64 位)上编译时,出现以下错误:
test.c:1:23: fatal error: dbus/dbus.h: No such file or directory
#include <dbus/dbus.h>
^
compilation terminated.
makefile:5: recipe for target 'test' failed
make: *** [test] Error 1
我已经尝试了我能想到的所有简单变体来使 Cygwin 工作 - I 和路径之间的空格、路径末尾的额外斜杠、gcc 参数的不同顺序。似乎没有什么简单的方法可以解决这个不应该存在的问题。
帮助!