-
前言
在Qt中进行低功耗蓝牙PC的开发,需要搭建MSVC编译环境才能很好的在电脑上运行(为啥呢,网上都说是BLE的类库来自微软,Qt支持的兼容性不怎么好),所以就开始了一顿百度搜索搭环境的骚操作,分享一下踩坑经验希望有用!!!
常规的安装百度上都有,这里只记录一下安装中遇到的一些网上解释不全的安装细节问题。
-
本期内容
1.第一坑:Qt版本问题
2.第二坑:Kits套件配置问题
3.第三坑:编译弹出错误
-
正文开始
1.Qt版本问题
(1)类库中可用成员不完整
最开始一直用的是Qt5.4.0(搭配的是Qt Creator3.3.0),想用来开发蓝牙BLE的PC,结果编译发现类库中的一些成员函数缺失不完整,编译报错,比如:
class QBluetoothDeviceDiscoveryAgentPrivate 中的 setLowEnergyDiscoveryTimeout();
class QLowEnergyController 中的createCentral();
在高版本的Qt中是包含的,比如Qt Creator6.2.0中就会包含,所以Qt版本不能太低。。。
(2)kit套件中编译器添加缺少MSVC选项
在低版本中没有添加MSVC
编译器的选项,如下图为Qt Creator 3.3.0
:
而这个添加编译器的接口,在高版本的Qt Creator中才有,如下图为Qt Creator 5.0.2
。
所以Qt版本不能太低。。。
2.Kits套件配置问题
按照先Visual Studio,再安装Windows10 SDK,再安装Qt Creator,最后配置Kits套件,完成整个编译环境的搭建
具体安装过程可以百度参考链接:Qt 5.9.6 配置MSVC 2017编译器_要用msvc编译器的时候,安装qt5.9组件要怎么选择-CSDN博客
qt5.14.2 独立msvc环境搭建(不安装vs)_qt msvc-CSDN博客
在安装完所有软件后配置Kits后会有感叹号出现:
自己手动选择编译器和调试器,就可能出现下面这中错误的感叹号(此时很无语。。。)
这是因为你选择的编译器可能存在问题,比如你要配置MSVC2015,msvc2017但是没有可选的2017编译器选项,配置了其他编译器不兼容,解决方法:
自己添加MSVC编译器,点击添加里的MSVC,选择好vcvarsall.bat文件(参照我下图里的路径到你安装Visual studio的目录里查找就有了),将ABI里选择2017的版本,在下面标号3里填好参数就完成自定义添加的编译器了。
(补充)上面标号3参数的配置方法如下:
参数配置格式是:x64或x86 +(SDK的版本号)+ -vcvars_ver=(MSVC的版本号)
你可能安装了多个版本的windows 10 SDK,这个没啥影响,只要你选择其中的一个就行,我选择的是最新的SDK版本,具体细节看下图:
3.编译弹出错误
(1)找不到rc.exe文件
(2)LNK1112: 模块计算机类型“x86”与目标计算机类型“x64”冲突
这是添加编译器时,设置为64bit的环境导致的,如下图修改为32bit后编译通过,不报错;
(补充)
待续。。。
-
结束语
1.
2.
3
-
小彩蛋
1.
2.