Windows 传感器 API - CLSID 的未解析外部符号
Windows Sensor API - Unresolved external symbol for CLSID
使用 Windows 10 和 Visual Studio 2013,我按照 Microsoft 传感器 API (https://docs.microsoft.com/en-us/windows/desktop/sensorsapi/sensor-api-programming-guide) 的编程教程组装了一个传感器管理器。
它说要包括 Propsys.lib
和 PortableDeviceGuids.lib
,但我在 C:\Windows\System32
中没有看到它们;我只看到 .dll
个库的扩展。
因此,我加入了 propsys.dll, Sensorsapi.dll, PortableDeviceApi.dll,
和 PortableDeviceTypes.dll
。
此外,在包含适当的头文件之后,我似乎对所有 Sensor API 函数都有了正确的引用。
但是在构建时,它给出了 error LNK2001: unresolved external symbol _CLSID_SensorManager, _CLSID_PortableDeviceKeyCollection
错误。所以我使用的 .dlls
似乎不是合适的替代品。那么对于Windows10,适用的依赖存放在哪里呢?
更新:
我在 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
下找到了相应的 .lib
文件,但即使将它们包含在 Linker > Input > Additional Dependencies
中,它也会给我同样的错误。
CLSID_SensorManager
在 sensorsapi.h
中定义。要使用它,您必须 link 关联的库文件:Sensorsapi.lib.
可以通过project->properties->Linker->Input->Additional Dependencies添加库
前面的回答是正确的,你也可以用
#pragma comment(lib,"sensorsapi.lib")
在任何源文件中。
使用 Windows 10 和 Visual Studio 2013,我按照 Microsoft 传感器 API (https://docs.microsoft.com/en-us/windows/desktop/sensorsapi/sensor-api-programming-guide) 的编程教程组装了一个传感器管理器。
它说要包括 Propsys.lib
和 PortableDeviceGuids.lib
,但我在 C:\Windows\System32
中没有看到它们;我只看到 .dll
个库的扩展。
因此,我加入了 propsys.dll, Sensorsapi.dll, PortableDeviceApi.dll,
和 PortableDeviceTypes.dll
。
此外,在包含适当的头文件之后,我似乎对所有 Sensor API 函数都有了正确的引用。
但是在构建时,它给出了 error LNK2001: unresolved external symbol _CLSID_SensorManager, _CLSID_PortableDeviceKeyCollection
错误。所以我使用的 .dlls
似乎不是合适的替代品。那么对于Windows10,适用的依赖存放在哪里呢?
更新:
我在 C:\Program Files\Microsoft SDKs\Windows\v6.0A\Lib
下找到了相应的 .lib
文件,但即使将它们包含在 Linker > Input > Additional Dependencies
中,它也会给我同样的错误。
CLSID_SensorManager
在 sensorsapi.h
中定义。要使用它,您必须 link 关联的库文件:Sensorsapi.lib.
可以通过project->properties->Linker->Input->Additional Dependencies添加库
前面的回答是正确的,你也可以用
#pragma comment(lib,"sensorsapi.lib")
在任何源文件中。