這幾天開始弄dbus通訊協議,理論知識不多說,網上一大堆,基於dbus開發,首先得搭建dbus開發環境,本人用紅帽和centos搭建的。
tar解壓之後,執行./configure出現錯誤:
後來發現是某個依賴包沒有安裝,利用yum search expat ,發現:
也就是expat-devel.i686這個依賴包。
執行:yum install expat-devel.i686 安裝好這個依賴包之後,再次執行./configure,發現成功了,然後make,make install,這個時候,dbus庫就安裝到了pc機了。
yum install *dbus* 這樣就安裝好了庫。
接下來是centos的情況:
搜尋 yum search expat ,安裝yum install expat-devel.x86_64,./configure,make, make install,這樣就把庫安裝好了。
用yum的庫也和紅帽差不多,yum search dbus
挑選出和系統匹配的處理安裝,我的是 x86_64的,所用安裝所用x86_64的yum包。
環境搭建好了之後,編寫好dbus程式,但是會發現很多錯誤,下面以centos為例解決常見錯誤。
錯誤1
dbus/dbus.h
:no such file or directory
這是dbus庫的標頭檔案位置不對。進入/usr/include/dbus-1.0/dbus,發現dbus.h在此目錄下:
進入/usr/include目錄,
ln -sf
/usr/include/dbus-1.0/dbus ./dbus 或者cp -rf
/usr/include/dbus-1.0/dbus /usr/include。
錯誤2 :dbus/dbus-arch-deps.h
:no such file or directory
解決方法 :cp /usr/lib/glib-2.0/include/glibconfig.h /usr/include
錯誤3:
(.text+0xbb6): undefined reference to `dbus_message_iter_get_basic'
..........
(.text+0xbd4):
undefined reference to `dbus_message_unref'
這是需要連線動態庫
解決方法:
特別注意:紅帽的系統是用
gcc send.c -l dbus-glib-1 -o send
下面是解決#include 錯誤的方法:
ln –sf ./glib-2.0/glib glib
ln –sf ./glib-2.0/gobject ./gobject
注意,路徑可能不同,以實際的pc機為準
ARM uClinux開發環境的建立
開發環境的建立。先說兩句廢話為和我以前一樣對作業系統 尤其是嵌入式作業系統 迷惑的弟兄解釋些概念。因為總是有人在問是不是一定要用作業系統,我的cpu能不能移植作業系統,可以移植什麼作業系統,有了作業系統可不可以執行某些程式。從我的個人經歷來講,這其實就是許多硬體出身的弟兄對作業系統這個東西有神秘感 ...
Ubuntu開發環境的建立
基本編譯器 sudo apt get install build essential 包含gcc g libc6 dev make 等等,是最基本也是比較全面的工具和庫集合。編譯核心 apt get install libncurses5 dev make menuconfig 命令依賴這一庫。gt...
建立NFS的開發環境
在dm270上建立nfs的開發環境 1 nfs簡介 nfs是network filesystem的縮寫,nfs是由sun開發並發展起來的一項用於在不同機器,不同作業系統之間通過網路互相分享檔案的技術。nfs可以讓你的pc通過網路將遠端的nfs 伺服器共享出來的檔案mount到自己的系統中,在客戶端看...