【发布时间】:2014-07-22 10:18:23
【问题描述】:
我有一个简单的程序,其中包括 dbus 并使用基本功能,例如:
DBusError err;
dbus_error_init(&err);
当我尝试编译程序时
g++ -Wall --std=c++11 -I/usr/include/dbus-1.0 -I/usr/lib/x86_64-linux-gnu/dbus-1.0/include -ldbus-1 main.cpp
我收到以下错误:
main.cpp:(.text+0x4b): undefined reference to `dbus_error_init'
main.cpp:(.text+0x5a): undefined reference to `dbus_bus_get_private'
main.cpp:(.text+0x79): undefined reference to `dbus_error_free'
main.cpp:(.text+0xf4): undefined reference to `dbus_connection_set_exit_on_disconnect'
main.cpp:(.text+0x114): undefined reference to `dbus_bus_request_name'
main.cpp:(.text+0x123): undefined reference to `dbus_error_is_set'
main.cpp:(.text+0x138): undefined reference to `dbus_error_free'
collect2: error: ld returned 1 exit status
我不明白。我尝试编译类似的应用程序,但用 C 语言编写,所有内容都编译和链接。
【问题讨论】:
-
我认为您需要添加 -L 选项来指示库
-
@Uday 不,它不起作用
-
@Uday,
-L选项表示库的路径。