Qt引入QBluetoothDeviceInfo提示文件找不到及未知蓝牙模块如何解决
Qt QBluetoothDeviceInfo 功能正常使用配置步骤
第一步:解决QT += bluetooth 报 unknown module(s) 错误
- 确认Qt版本不低于5.2:蓝牙模块是Qt 5.2版本才正式加入的功能,低于该版本需要先升级Qt SDK。
- 补充安装Qt Connectivity组件:蓝牙模块属于Qt Connectivity组件的子模块,自定义安装Qt时如果未勾选该组件会导致模块缺失。打开Qt Maintenance Tool,在已安装组件列表中找到对应Qt版本下的「Qt Connectivity」组件,勾选后完成安装更新,重启Qt Creator即可。
- 检查平台适配:Windows平台下Qt 5.14之前的版本仅支持Win10及以上系统的蓝牙功能;Linux平台需要提前安装bluez蓝牙开发依赖包;苹果系平台需要额外配置蓝牙权限。
第二步:解决#include <QBluetoothDeviceInfo>报file not found错误
- 确认.pro文件中已经添加
QT += bluetooth配置,添加完成后必须右键项目执行「运行qmake」操作,再重新构建项目,未执行qmake会导致新增的模块配置不生效。 - 若qmake执行后仍报错,可以将头文件写法替换为
#include <QtBluetooth/QBluetoothDeviceInfo>,部分低版本Qt需要补全模块前缀才能正确索引到头文件。
特殊情况:CMake构建项目的配置
如果你的项目使用CMake而非qmake构建,不需要修改.pro文件,改为在CMakeLists.txt中添加以下配置即可:
- 查找蓝牙模块依赖:
find_package(Qt5 COMPONENTS Bluetooth REQUIRED)(Qt6对应改为Qt6) - 链接蓝牙模块到你的项目:
target_link_libraries(你的项目名 PRIVATE Qt5::Bluetooth)(Qt6对应改为Qt6::Bluetooth)
内容的提问来源于stack exchange,提问作者Overflowed_piggg
相关产品推荐
相关产品推荐

