背景简介: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下运行,相对地,不使用动态库导致的就是编译出来的程序大很多。也是可以设置使用静态库的