- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个基于运行 2008 r2 的 Jenkins CI 服务器构建的 C++ Windows 蓝牙应用程序。该应用程序构建良好,并在安装了 Microsoft 蓝牙堆栈的机器上运行。不幸的是,Server 2008 r2 不支持蓝牙,这会阻止我们在构建服务器上执行 gtest 单元测试项目。
单元测试本身不使用蓝牙堆栈,但由于其他库代码包含对 BluetoothFindFirstRadio 和 BluetoothGetRadioInfo 的调用,单元测试应用程序根本不会运行。这些调用在 bthprops.cpl 中实现,它在 Windows Server 2008 r2 中不存在。
所以我可以通过多种方式解决这个问题,但不幸的是我找不到任何这些问题的答案:
除了 BluetoothGetRadioInfo 之外,还有其他方法可以获取本地蓝牙设备的地址吗?这将使我能够打破对 bthprops.cpl 的链接依赖。
有没有办法让 Windows Server 2008 认为机器上有 bthprops.cpl 库?或者甚至欺骗我的单元测试可执行文件,让它认为它在那里可以执行?
有没有办法在编译时识别我在 Windows Server 上,以便我可以 #ifdef 从我的单元测试项目中删除这些函数?
最佳答案
我建议你使用LoadLibrary/FreeLibrary和GetProcAddress获取BluetoothFindFirstRadio/BluetoothGetRadioInfo/...的函数指针,这样你的应用程序就可以正常运行而不会出现系统错误(“程序无法启动,因为bthprops.cpl从您的计算机。请尝试重新安装该程序以解决此问题。"),无论是否存在 bthprops.cpl。
关于c++ - Windows Server 2008 r2 上 BluetoothGetRadioInfo 的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22386730/
我有一个基于运行 2008 r2 的 Jenkins CI 服务器构建的 C++ Windows 蓝牙应用程序。该应用程序构建良好,并在安装了 Microsoft 蓝牙堆栈的机器上运行。不幸的是,Se
我是一名优秀的程序员,十分优秀!