我使用的是Ubuntu 16.04 64位操作系统 我跑的时候
$ sudo pip3 install gattlib
我收到此错误消息
/ usr / bin / ld:找不到-lboost_python-py34
collect2:错误:ld返回1退出状态
错误:命令' x86_64-linux-gnu-g ++'退出状态1失败
我试着谷歌搜索如何解决这个问题,但对我来说没有任何作用 我想在python上使用gatttool,所以我需要安装这个 我怎么解决这个问题?
PS。我已经下载了libboost-dev
答案 0 :(得分:13)
pip3 download gattlib
tar xvzf ./gattlib-0.20150805.tar.gz
cd gattlib-0.20150805/
sed -ie 's/boost_python-py34/boost_python-py35/' setup.py
pip3 install .
答案 1 :(得分:1)
如果本杰明的解决方案不起作用,请尝试将35更改为36,即尝试以下代码。
UPDATE [T] SET Col1='Value1', Col2='Value2' WHERE [Id] = 1;
...
UPDATE [T] SET Col1='Value999', Col2='Value1000' WHERE [Id] = 500;
答案 2 :(得分:0)
我在RPI-3B上遇到以下错误:
cc1plus:警告:命令行选项“ -Wstrict-prototypes”对C / ObjC有效,但对C ++无效
src / gattservices.cpp:6:33:致命错误:bluetooth / bluetooth.h:没有这样的文件或目录
#包括
^
编译终止。
错误:命令“ arm-linux-gnueabihf-gcc”失败,退出状态为1
[1]运行以下命令有助于解决:
sudo apt-get install libbluetooth-dev
[2]还删除了文件夹“ gattlib-0.20150805”,并再次使用“ tar xvzf ...”重新创建了文件夹,有助于清除文件中遗留的先前的编译内容。
答案 3 :(得分:0)
对于python 3.7,您应该这样做:
pip3 download gattlib
tar xvzf ./gattlib-0.20150805.tar.gz
cd gattlib-0.20150805/
sed -ie 's/boost_python-py34/boost_python37/' setup.py
pip3 install .
答案 4 :(得分:0)
这适用于Raspberry 2,Rasbian Buster和Python3。请注意,Python 3库的命名似乎不同:“在setup.py中指定boost库时,可以通过用boost_python3替换boost_python_py34轻松解决该错误。 >
sed -ie 's/boost_python-py37/boost_python3/' setup.py
图书馆:
/usr/lib/arm-linux-gnueabihf/libboost_python3.a
/usr/lib/arm-linux-gnueabihf/libboost_python3-py37.a
/usr/lib/arm-linux-gnueabihf/libboost_python3-py37.so
/usr/lib/arm-linux-gnueabihf/libboost_python3.so
答案 5 :(得分:0)
在PyGattlib DEPENDS之后,所有依赖项都包含pkg-config来“管理库的编译和链接标志”。解决了
/usr/bin/ld: cannot find -lboost_python-py36
我更新了我的软件包安装依赖项,并且可以使用!
RUN install_packages \
python3-dev \
libbluetooth-dev \
libboost-python-dev \
libboost-thread-dev \
libglib2.0-dev \
pkg-config
RUN python3 -m pip install pygattlib
Docker Balena.io Ubuntu“仿生海狸”