我正在編輯並重新編譯bluez 5.31版的hcitool.c。我從這個回答下列程序安裝的bluez 5.31: Bluetooth Low Energy in C - using Bluez to create a GATT server如何重新編譯現有的linux應用程序
在我的試用,我複製了hcitool.c文件,並將其命名爲Tools文件夾內myhcitool.c我用命令
gcc -o myhcitool.o myhcitool.c.
這給了我一個錯誤
myhcitool.c:43:27: fatal error: lib/bluetooth.h: No such file or directory
#include "lib/bluetooth.h"
^
compilation terminated.
我試圖複製工具文件夾以外的myhcitool.c並編譯它。這給了我這樣的一堆錯誤的東西:
/tmp/ccj1QmZK.o: In function `dev_info':
myhcitool.c:(.text+0x293): undefined reference to `ba2str'
/tmp/ccj1QmZK.o: In function `conn_list':
myhcitool.c:(.text+0x501): undefined reference to `ba2str'
myhcitool.c:(.text+0x50f): undefined reference to `hci_lmtostr'
myhcitool.c:(.text+0x586): undefined reference to `bt_free'
/tmp/ccj1QmZK.o: In function `cmd_dev':
我也試圖通過在那裏修改簡單的printf編輯hcitool.c本身,然後重新進行「化妝」和「使安裝」整個命令bluez的。之後,當我嘗試運行hcitool時,我所做的修改沒有任何效果。
你以前做過「乾淨」嗎? – Downvoter
沒有。我現在就試了一下。 –
我剛試過'make clean',然後重做'./configure','make'和'make install'。我在hcitool中的修改仍然不起作用。 –