Tôi đang cố gắng biên dịch chương trình C, với các tiêu đề này: http://pastebin.com/SppCXb0U, trên Ubuntu. Lúc đầu, tôi không có bất kỳ may mắn chút nào, nhưng sau khi đọc về pkg-config Tôi crafted dòng này:Soạn thảo chương trình C với các tệp tiêu đề dbus
gcc `pkg-config --cflags --libs dbus-1` `pkg-config --cflags --libs glib-2.0` signals-tutorial.c
Tuy nhiên, nó vẫn không hoạt động và mang lại cho tôi lỗi này:
/tmp/cc3BkbdA.o: In function `filter_example':
signals-tutorial.c:(.text+0x1a3): undefined reference to `dbus_connection_setup_with_g_main'
/tmp/cc3BkbdA.o: In function `proxy_example':
signals-tutorial.c:(.text+0x29a): undefined reference to `g_type_init'
signals-tutorial.c:(.text+0x2b3): undefined reference to `dbus_g_bus_get'
signals-tutorial.c:(.text+0x323): undefined reference to `dbus_g_proxy_new_for_name'
signals-tutorial.c:(.text+0x369): undefined reference to `dbus_g_proxy_add_signal'
signals-tutorial.c:(.text+0x38a): undefined reference to `dbus_g_proxy_connect_signal'
collect2: ld returned 1 exit status
Tôi không biết phải làm gì từ đây.
==================================
Một lời giải thích hay - cảm ơn bạn. Tuy nhiên, tôi không thể làm cho nó hoạt động. Chạy lệnh của bạn ở trên (có thêm) sẽ mang lại kết quả sau
gcc `pkg-config --cflags dbus-1` \
> `pkg-config --cflags glib-2.0` \
> signals-tutorial.c \
> `pkg-config --libs dbus-1` \
> `pkg-config --libs glib-2.0`
/tmp/ccjN0QMh.o: In function `filter_example':
signals-tutorial.c:(.text+0x1a3): undefined reference to `dbus_connection_setup_with_g_main'
/tmp/ccjN0QMh.o: In function `proxy_example':
signals-tutorial.c:(.text+0x29a): undefined reference to `g_type_init'
signals-tutorial.c:(.text+0x2b3): undefined reference to `dbus_g_bus_get'
signals-tutorial.c:(.text+0x323): undefined reference to `dbus_g_proxy_new_for_name'
signals-tutorial.c:(.text+0x369): undefined reference to `dbus_g_proxy_add_signal'
signals-tutorial.c:(.text+0x38a): undefined reference to `dbus_g_proxy_connect_signal'
collect2: ld returned 1 exit status
Cảm ơn bạn rất nhiều vì câu trả lời hay của bạn. Trường nhận xét không đủ lớn để đăng kết quả của tôi, vì vậy tôi đã dán nó vào bài đăng chính. –
Đầu ra 'pkg-config --libs dbus-1' và 'pkg-config --libs glib-2.0' là gì? –
'-L/usr/lib/x86_64-linux-gnu -ldbus-1 -lọc trước -lrt' và' -L/usr/lib/x86_64-linux-gnu -lglib-2.0' tôn trọng –