2

我试图使用此链接: http: //msdn.microsoft.com/en-us/library/dd377566%28v=VS.85%29.aspx来选择捕获设备。

在 Visual Studio 上完美运行,但抛出以下错误 QT:

 test.obj : error LNK2005: _main already defined in main.obj
  test.obj : error LNK2019: unresolved external symbol __imp__CoCreateInstance@20   referenced in function "long __cdecl EnumerateDevices(struct _GUID const &,struct IEnumMoniker * *)" (?EnumerateDevices@@YAJABU_GUID@@PAPAUIEnumMoniker@@@Z)
  test.obj : error LNK2019: unresolved external symbol __imp__VariantClear@4 referenced in function "void __cdecl DisplayDeviceInformation(struct IEnumMoniker *)" (?DisplayDeviceInformation@@YAXPAUIEnumMoniker@@@Z)
  test.obj : error LNK2019: unresolved external symbol __imp__VariantInit@4 referenced in function "void __cdecl DisplayDeviceInformation(struct IEnumMoniker *)" (?DisplayDeviceInformation@@YAXPAUIEnumMoniker@@@Z)
 test.obj : error LNK2019: unresolved external symbol __imp__CoUninitialize@0 referenced in function _main
test.obj : error LNK2019: unresolved external symbol __imp__CoInitializeEx@8 referenced in function _main

我正在使用 Windows 7 和 QT 5.0.2。

任何帮助将不胜感激。

4

1 回答 1

3

在谷歌上搜索“cocreateinstance unresolved external”并使用返回的第一个链接:

http://social.msdn.microsoft.com/Forums/en-US/vcgeneral/thread/5fc032e1-86d8-43c7-870b-f10599000605/

我发现第三条评论指出链接到"ole32.lib"

您对我上面评论的回复表明“oleAut32.lib”也是必需的。

还要确保链接到"strmiids.lib"

总而言之,所需的库是:

  • ole32.lib
  • oleaut32.lib
  • strmiids.lib
于 2013-05-22T12:35:35.327 回答