dbus glib 安裝環境搭建

2021-06-07 12:22:56 字數 2589 閱讀 8404

dbus-glib 安裝環境搭建

安裝 dbus

apt-get install dbus

安裝 d-feet ,用於檢視 session bus 和 system bus

apt-get install d-feet

安裝 glib2.0

apt-get install libgtk2.0-dev

安裝 dbus-glib

apt-get install libdbus-glib-1-dev

下面三個錯誤參考

常見的錯誤

錯誤 1: 

$ gcc test.c

test.c:8:23: 錯誤: dbus/dbus.h : no such file or director y

......

$ 錯誤提示, dbus 庫的標頭檔案位置不正確 ( 如果已經安裝了 dbus 的話 )

$ sudo updatedb

$ sudo locate dbus.h ( 檢視 dbus.h 的所在位置 )

/usr/local/include/dbus-1.0/dbus/dbus.h

/usr/include/dbus-1.0/dbus/dbus.h

看來 dbus.h 的存放位置的確不正確,這可能是由於 dbus-1.0 的安裝位置有問題,沒關係,調整一下 dbus 的標頭檔案位置就可以了 ( 調整方法如下 ):

root@zxl:/usr/include# ln -sf   dbus  ./dbus-1.0/dbus

錯誤 2: 

$ gcc test.c

在包含自 test.c : 8 的檔案中 :

/usr/include/dbus/dbus.h:29:33: 錯誤: dbus/dbus-arch-deps.h : no such file or directory

......

依然有標頭檔案無法正確定位的問題,從錯誤提示來看,該檔案應該在 /usr/include/dbus/ 目錄下,可是進入該目錄檢視竟然沒有,那就在整個系統中查詢該檔案。 

root@zxl:/usr/include/dbus# locate dbus-arch-deps.h

/usr/local/lib/dbus-1.0/include/dbus/dbus-arch-deps.h

/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h

將該檔案複製到 /usr/include/dbus 目錄下

cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include

錯誤 3: 

$ gcc test.c

......

test.c:(.text+0xbb6): undefined reference to `dbus_message_iter_get_basic'

test.c:(.text+0xbd4): undefined reference to `dbus_message_unref' 

collect2: ld 返回 1 

需要連線動態庫 dbus 

$ cd /usr/lib

$ ls *dbus* 

libdbus-1.a   libdbus-1.so.3      libdbus-glib-1.so

libdbus-1.la libdbus-1.so.3.2.0 libdbus-glib-1.so.2

lib dbus-1 . so libdbus-glib-1.a    libdbus-glib-1.so.2.1.0

$ gcc test.c -l dbus-1 -o dbus

以上三個錯誤是編譯底層 dbus 函式遇到的錯誤。下面的是編譯 dbus-glib 程式遇到錯誤所解決的方法。

ln –sf ./glib-2.0/glib glib

ln –sf ./glib-2.0/gobject ./gobject

把 glib.h 檔案放到 /usr/include 下

cp ./glib-2.0/glib.h ./

把 glib-object.h 放到 /usr/include 下

cp ./glib-2.0/glib-object.h ./

編譯 dbus-glib 的 makefile 檔案

object=server.o server_marshal.o

cc=gcc

cflags+=-g –wall

all:$(object)

$(cc) $(cflags) –l dbus-1 –l dbus-glib-1 $(object0 –o server

clean:

rm *.o

編譯單純 glib 函式的 makefilewenj

object=glib_test

cc=gcc

cflags+=-g –wall

all:

$(cc) $(cflags) –l dbus-glib-1 $(object).c –o $(object)

在網上看到的都是用 pkg-config ,但是我這裡用不來,不知道為什麼?所以的檔案都能找到,但是用 pkg-config 卻找不到?

來自:

dbus glib 安裝環境搭建

dbus glib 安裝環境搭建 安裝 dbus apt get install dbus 安裝 d feet 用於檢視 session bus 和 system bus apt get install d feet 安裝 glib2.0 apt get install libgtk2.0 dev ...

PHP安裝環境搭建

一.安裝php執行伺服器 xampps x64 二.安裝php程式編輯軟體 zend studo需要破解 安裝後開啟,再關閉 把com.zend.php.core 10.6.0.v20140128 2127.jar.gzip.jar放到php程式編輯軟體安裝目錄,替換com.zend.php.cor...

環境搭建 VMware安裝系統

常用的虛擬化軟體 1.vmware 收費 commercial 商業版的 2.vitualbox free 虛擬化軟體 vmware workstation 虛擬系統工作站 安裝系統任務 1.安裝linux系統centos redhat 2.安裝windows7系統 3.安裝雙系統 4.製作啟動u盤...