链接某些Windows API时出现链接器错误

Linker error while linking some windows APIs(链接某些Windows API时出现链接器错误)
本文介绍了链接某些Windows API时出现链接器错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我的系统中有一个Makefile项目。最近,我添加了一些新函数,这些函数使用了以下Windows API:

RegOpenKeyEx
RegEnumKeyEx
RegCloseKey
RegGetValue

为了拥有这些API,我还添加了windows.h头文件。 代码在我的机器上编译和链接都很好。但是,在我同事的机器上,链接失败了。我们都在64位Windows机器上工作。 在他的PC中,我收到错误:

错误LNK2001:未解析的外部符号__imp_RegOpenKeyExW

错误LNK2001:未解析的外部符号__imp_RegGetValueW

错误LNK2001:未解析的外部符号__imp_RegCloseKey

错误LNK2001:未解析的外部符号__IMP_RegEnumKeyExW

我尝试的内容: 由于正在使用的库位于C:Program Files (x86)Microsoft SDKsWindowsv7.0ALibx64

我尝试添加以下行:

LINKFLAGS+=-L"C:Program Files(X86)Microsoft SDK Windowsv7.0ALibx64"

我将库路径添加到环境变量PATH

我将库复制到输出文件夹。

没有起作用。

正如我前面所说,代码在我的PC上运行正常,但在另一台PC上失败。

推荐答案

注册表函数要求您将Advapi32.lib传递给链接器。这就是你错过的一步。

这篇关于链接某些Windows API时出现链接器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!

本站部分内容来源互联网,如果有图片或者内容侵犯您的权益请联系我们删除!

相关文档推荐

Boost module machine type #39;X86#39; conflicts with target machine type #39;x64#39;(Boost模块计算机类型#39;x86#39;与目标计算机类型#39;x64#39;)
Trouble running LLVM examples(运行LLVM示例时出现问题)
Python ctypes, C++ object destruction(Python ctype,C++对象销毁)
DllGetClassObject return amp;quot;No such interface supportedamp;quot; while CoCreateInstance can find it successful(DllGetClassObject返回amp;不支持这样的接口,而CoCreateInstance发现它成功了)
Is static_castamp;lt;doubleamp;gt;(std::nanf(amp;quot;amp;quot;)) well defined?(Static_castamp;lt;doubleamp;gt;(std::nanf(amp;quot;amp;quot;))是否定义良好?)
How do I compare a std::function#39;s target with a member function#39;s address?(如何将std::函数的目标与成员函数的地址进行比较?)