【已解决】
步骤一
捕获.JPG
先将btmanager整个复制到项目中
步骤二
捕获.JPG
在项目中新建out_lib和out2_lib目录
然后将这段复制到pro文件里最下边(截图的不完整,用下面的代码)
LIB_PATH = $$PWD/btmanager/out_lib
LIB_PATH2 = $$PWD/btmanager/out2_lib
unix:!macx: LIBS += -L$$LIB_PATH2 -lpcre -lffi
## 在 Unix 系统(非 macOS)下添加库
unix:!macx {
LIBS += -L$$LIB_PATH -lbluetooth -lglib-2.0 -lsbc -ljson-c -lz -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lasound -lbtmg -ldl -lm -lresolv
LIBS += -lshared-mainloop -lbluetooth-internal -lshared-glib
}
INCLUDEPATH += $$PWD/btmanager/include
DEPENDPATH += $$PWD/btmanager/include
步骤三
在你的sdk下找到类似这个路径Tina-SDK/out/t113-bingpi_m2/staging_dir/target/usr/lib下的所有文件复制到项目下的out_lib中,再找到类似这个路径Tina-SDK/out/t113-bingpi_m2/staging_dir/target/rootfs/lib下的所有文件复制到项目下的out2_lib中(out文件夹是要进行一次make && moob && pack后编译生成所产生的)
编译执行,就不会缺少依赖了
##总结
其实我这个是笨方法,就是缺少啥依赖就将生成的so文件放进去,实际上用到的就是这些-lbluetooth -lglib-2.0 -lsbc -ljson-c -lz -lgmodule-2.0 -lgio-2.0 -lgobject-2.0 -lasound -lbtmg -ldl -lm -lresolv -lshared-mainloop -lbluetooth-internal -lshared-glib,这些库的意思就是去掉lib和so前缀和后缀的,比如 -lbluetooth就是libbluetooth.so、-lglib-2.0就是libglib-2.0.so。这里是参考btmanager里面demo里的Makefile文件写的,-lbtmg引入的顺序必须与写的顺序一致,不然会提示缺少依赖,需要写好-lbtmg所需要的依赖后再引入。