第一篇部落格!自己弄東西時,看到很多網友的帖子,對在下幫助甚大。這裡奉獻下自己的成果經驗。本人菜鳥,如有不對之處,歡迎指出。
——這個是bluez4.101
——這個是bluez5.21
bluez4.101交叉編譯的具體步驟
首先確定安裝目錄,安裝目錄最好不是使用者目錄,以免有許可權限制.
先進行環境變數的設定,告訴之後系統,我的庫安裝的目錄
export pkg_config_path=/path/usr/lib/pkgconfig
expat
./configure --prefix=/path/usr --host=arm-linux-gnueabihf
&& make
sudo make install
這個庫是較好編的,其中path就是你編譯bluez需要存放的位址,所有編譯的庫需存放在同乙個目錄下,最後可將編譯好的bluez這個資料夾,直接copy到開發板的記憶體中,可直接使用
d-bus
./configure
cflags=-i/path/usr/include ldflags=-l/path/usr/lib
--prefix=/path/usr
--host=arm-linux-gnueabihf \
--with-x=no && make
sudo make install
glib(之前要通過源程式裝zlib和apt-get libglib2.0-dev)
export pkg_config_libdir=/path/usr/lib/pkgconfig/
cc=arm-linux-gnueabihf-gcc
./configure \
--host=arm-linux-gnueabihf \
--prefix=/path/usr \
--disable-installed-tests \
ac_cv_type_long_long=yes \
glib_cv_stack_grows=no \
glib_cv_uscore=no \
ac_cv_func_posix_getpwuid_r=yes \
ac_cv_func_posix_getgrgid_r=yes && make
bluez-4.101 jiaocha(ok)
export pkg_config_libdir=/path/usr/lib/pkgconfig/
mkdir -p /path/lib/systemd/system
mkdir -p /path/usr/lib/systemd
cc=arm-linux-gnueabihf-gcc
./configure \
--host=arm-linux-gnueabihf \
--with-systemdsystemunitdir=/path/lib/systemd/system/ \
--with-systemduserunitdir=/path/usr/lib/systemd \
--prefix=/path/usr \
--with-dbussystembusdir=/path \
--disable-udev \
--enable-experimental \
# ldflags=-lncurses \加上的話,c無法產生可執行檔案(這裡也可能是我這兩個環境變數給的值出現了問題,如有大神知道,歡迎批評指正)
# cflags=-i/path/include
&& make
blueZ 5 37 交叉編譯可以在arm上執行
之前編譯過bluez4.95的,方法沒有記錄,現在又要不編譯5.37又要重新來一遍,中間各種依賴的庫,各種坑,現在要完完全全的記錄下來。5.37的bluez需要依賴的庫expat 2.0.1.tar.gz glib 2.45.3.tar.xz readline 5.2.tar.gz libical ...
樹莓派香蕉派編譯bluez手記
sudo apt get update sudo apt get install libdbus 1 dev libdbus glib 1 dev libglib2.0 dev libical dev libreadline dev libudev dev libusb dev make wget ...
基於bluez程式編譯時注意事項
製作了乙個基於bluez的,類似於btw的庫 btx.在編寫和使用這個庫時,發現標頭檔案包含容易出現的問題。第一 不要用到哪個bluez標頭檔案中定義的內容就只去包含這個標頭檔案。而應該將bluetooth bluetooth.h最先加入。類似 bluetooth header file inclu...