链接某些Windows API时出现链接器错误 [英] Linker error while linking some windows APIs

查看:39
本文介绍了链接某些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时出现链接器错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆