qt mingw 与 msvc windows编译蓝牙的区别

在Windows环境中开发上位机并使用蓝牙通信时,作者遇到了通过MingW编译的程序在断开重连时出现特征值或描述符写入失败的问题。而使用MSVC编译的示例却能成功进行二次连接,无需重新配对。这揭示了不同编译器在处理蓝牙连接时可能存在的不同行为。
摘要由CSDN通过智能技术生成

背景简介:windows上开发上位机,通过蓝牙接收数据,一直用mingw开发没遇到什么问题,直到蓝牙通信模块时,习惯电脑配对后扫描蓝牙认为这才是正常操作。但是这样一直存在一个问题第一次连接没问题,断开重新连接后会提示特征值写入失败或者描述符写入失败,蓝牙断开不彻底,这时我的操作是断开windows上的蓝牙配对,重新连接,甚至重启设备,以确保能读取蓝牙发送的数据,弄了很久都没解决二次连接的问题。直到一次意外用msvc编译了demo发现,他居然可以不用配对都能查找到设备,二次连接,断开都没问题。这才意识到问题所在。

  • MSVC
    即Microsoft Visual C++ Compiler,即微软自己的编译器
    我们下载Windows下的OpenCV时,会带两个文件夹VC14,VC15(分别与Visual Studio的版本有对应关系),这两个文件夹下的库可以直接运行不需要编译
    将VS作为Qt的开发环境也是使用这个编译器的缘故

  • MinGW
    我们都知道GNU在Linux下面鼎鼎大名的gcc/g++,MinGW则是指Minimalist GNU for Windows的缩写
    它是将GNU开发工具移植到Win32平台下的产物,即一套Windows上的GNU工具集
    用其开发的程序不需要额外的第三方DLL支持就可以在Windows下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的

  • 参考文献:Windows下的Qt编译器——MinGW和MSVC的区别

引用\[1\]中提到了在切换QT5 MinGWMSVC编译时遇到的问题,引用\[2\]中提到了编码的问题,以及QT5的Qstring默认是UTF8格式,而MSVC只支持带BOM的UTF8格式。引用\[3\]中提到了MSVC是微软自己的编译器,可以直接运行不需要编译。根据这些信息,可以得出qt mingwmsvc区别如下: 1. 编译器:QT MinGW使用MinGW编译器,而MSVC使用微软自己的编译器(Microsoft Visual C++ Compiler)。 2. 编码支持:QT MinGW默认使用UTF8编码,而MSVC只支持带BOM的UTF8编码。因此,在使用MSVC编译时,需要注意编码的转换。 3. 依赖库:在使用MSVC编译时,可以直接使用Windows下的OpenCV库,而不需要进行编译。这是因为MSVC编译器与Visual Studio的版本有对应关系,可以直接运行。 总结起来,QT MinGWMSVC区别主要在于编译器和编码支持方面。选择使用哪种编译器取决于项目的需求和开发环境的配置。 #### 引用[.reference_title] - *1* [QT5 MinGW切换MSVC编译问题](https://blog.csdn.net/xinlongabc/article/details/121708435)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Qt编译MinGWMSVC区别](https://blog.csdn.net/qq_43445867/article/details/127889570)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Windows下的Qt编译器——MinGWMSVC区别](https://blog.csdn.net/flowerspring/article/details/116924437)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值