0
我有一个c文件包含一些dbus的东西,并执行dbus.h.目前为止工作正常。现在我打算将我的c文件分割成c文件和头文件。但现在 - 编译过程failes有:错误:编译dbus时未知的类型名称
gcc -o dbus `pkg-config --cflags --libs dbus-1` dbus.c
In file included from dbus.c:1:0:
dbus.h:12:27: error: unknown type name ‘DBusMessage’
dbus.h:12:45: error: unknown type name ‘DBusConnection’
dbus.c: In function ‘dbus_send_signal’:
dbus.c:8:4: error: unknown type name ‘DBusMessage’
dbus.c:9:4: error: unknown type name ‘DBusMessageIter’
...
我只是拆分前的C-文件是这样的:
#include "dbus.h" // include local dbus.h
/**
* Connect to the DBUS bus and send a broadcast signal
*/
void dbus_send_signal(char* sigvalue)
{
DBusMessage* msg;
DBusMessageIter args;
DBusConnection* conn;
...
以及局部头dbus.h文件:
#ifndef DBUS_H
#define DBUS_H
#include <dbus/dbus.h> // include the global dbus.h
#include <stdbool.h>
#include <unistd.h>
#include <stdio.h>
#include <stdlib.h>
void dbus_listen();
void dbus_send_signal(char *sigvalue);
...
我没有更改代码本身,所以我有点困惑。只是将内容分割成c和h文件。 你有想法吗? gcc参数是否错误?
+1 yikes!不错的猜测 – pmg
谢谢,很棒的猜测.. – mkind