【发布时间】:2010-06-24 18:40:13
【问题描述】:
我正在尝试从 Windows API 编译一些代码。它说某些 .lib 和 .h 文件必须包含在我正在使用的 Windows 7 SDK 版本中。 Visual Studio 显示 .h 文件,但在我尝试构建项目时出现链接器错误 (L2019)。
如何查看我拥有的 Win7 SDK 版本,以及如何查看它是否包含必要的 .lib 文件?
【问题讨论】:
标签: visual-studio windows-7 sdk
我正在尝试从 Windows API 编译一些代码。它说某些 .lib 和 .h 文件必须包含在我正在使用的 Windows 7 SDK 版本中。 Visual Studio 显示 .h 文件,但在我尝试构建项目时出现链接器错误 (L2019)。
如何查看我拥有的 Win7 SDK 版本,以及如何查看它是否包含必要的 .lib 文件?
【问题讨论】:
标签: visual-studio windows-7 sdk
您是否真的告诉链接器它应该链接相应的 .lib 文件?项目模板仅链接最流行的 .lib 文件、kernel32.lib、user32.lib 等。如果您使用“不寻常”的 API 函数,那么您还必须告诉链接器链接导入库。
项目 + 属性、链接器、输入、附加依赖项。如果您不知道需要什么 .lib,请查看 API 函数的 SDK 文档。 .lib 文件列在文章底部。
您可以做的另一件事是在源代码中使用#pragma 来告诉链接器与.lib 链接。例如:
#include <shlwapi.h>
#pragma comment(lib, "shlwapi.lib") // NOTE: need to link this .lib to get shell functions
【讨论】:
可能的解决方案:转到“C:\Program Files\Microsoft SDKs\Windows”并查看是否安装了版本(或者该路径是否存在)。
【讨论】: