x64上的WMI链接器错误

WMI Linker Error on x64

本文关键字:错误 链接 WMI 上的 x64      更新时间:2023-10-16

我正在尝试使用msdn:中的WMI示例

http://msdn.microsoft.com/en-us/library/windows/desktop/aa384724%28v=vs.85%29.aspx

我已经在VS2008中将最后一组代码逐字复制到控制台应用程序中。如果我已经为win32平台发布或调试了应用程序,那么它的编译(和运行)会很好。如果我在x64平台的发布或调试中有它,我会得到以下链接器错误:

CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemConfigureRefresher
CppConsole.obj : error LNK2001: unresolved external symbol CLSID_WbemRefresher
CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemRefresher
CppConsole.obj : error LNK2001: unresolved external symbol CLSID_WbemLocator
CppConsole.obj : error LNK2001: unresolved external symbol IID_IWbemLocator
fatal error LNK1120: 5 unresolved externals

我已经尝试过将wbemuid.lib直接放入项目属性中的链接器输入中,但这与pragma没有什么区别。

有人用x64做过这个吗?还是我做错了什么?

我为此称赞RRUZ,因为他/她至少让我走上了正轨,但由于他们还没有发布答案(只是一条评论),我无法点击他们获得赞誉。

基本上,由于我所处的工作环境,项目目录是以"非标准"的方式设置的。在另一个版本不正确的目录(不是x64)中已经存在wbemuid.lib的副本,并且该目录在库包含列表中的位置更高,因此无法访问正确的Windows平台库目录。

因此,如果您在x86与x64以及库包含方面遇到问题,请检查您的目录并检查它们的顺序。

相关文章: