gpt4 book ai didi

c - 错误 : unknown type name while compiling dbus

转载 作者:太空宇宙 更新时间:2023-11-04 06:07:20 28 4
gpt4 key购买 nike

我有一个 c 文件,其中包含一些 dbus 内容并实现了 dbus.h。到目前为止一切正常。现在我打算将我的 c 文件拆分为一个 c 文件和一个头文件。但是现在 - 编译过程失败了:

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 参数错误吗?

最佳答案

这只是一个猜测,但也许 也包含

#ifndef DBUS_H
#define DBUS_H

你需要让它们不一样,例如将您本地的更改为

#ifndef LOCAL_DBUS_H
#define LOCAL_DBUS_H

关于c - 错误 : unknown type name while compiling dbus,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7514217/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com