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

saj*_*jas 1 c++ windows registry winapi linker-errors

我的系统中有一个makefile项目。最近,我添加了一些使用以下Windows API的新功能:

RegOpenKeyEx
RegEnumKeyEx
RegCloseKey
RegGetValue
Run Code Online (Sandbox Code Playgroud)

为了拥有这些API,我还添加了windows.h头文件。代码可以在我的机器上正常编译和链接。但是,在我的同事机器中链接失败。我们都在64位Windows计算机上工作。在他的电脑上,我得到了错误:

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

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

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

错误LNK2001:无法解析的外部符号__imp_RegEnumKeyExW

我尝试过的:由于正在使用的库Advapi32.lib位于C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\Lib\x64

我尝试添加以下行:

LINKFLAGS + = -L“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v7.0A \ Lib \ x64”

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

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

没事。

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

Dav*_*nan 5

注册表功能要求您传递Advapi32.lib给链接器。这是您错过的步骤。