尝试使用 URLDownloadFileW 时出错

Error trying to use URLDownloadFileW

我正在尝试使用 URLDownloadFileW 函数从 link 下载 zip 文件。我现在用这个函数开发的代码部分是:

UnicodeString URL = "URL.EX";
UnicodeString dir = "C:\";
UnicodeString result = URLDownloadToFileW(NULL,URL.c_str(),dir.c_str(),0,NULL);
if (result != "S_OK")
    return;

并且我已经在 header 上声明了 Urlmon.h,但是,当我构建项目时 returns 我:

[ilink32 错误] 错误:未解析的外部 'URLDownloadToFileW' 从 C:\USERS\ADMINISTRADOR\DESKTOP\SD MANUTENÇÃO\WIN32\DEBUG\SDSUPER449.OBJ
引用 [ilink32错误]错误:无法执行link

我没有找到任何可用的搜索结果。有人知道这是什么意思吗?

urlmon.h 需要 编译器 来编译您的代码。编译器创建对 URLDownloadToFileW 函数的引用,但不关心该函数存在于何处。这是 link 人 的任务。

urlmon.lib 需要 linker 来解析编译器对 URLDownloadToFileW 函数的引用。

RAD Studio 有这两个文件,分别在 $(BDS)\include\win32\sdk$(BDS)\lib\win32\release 文件夹中。

你需要两者都做:

  1. 在代码中添加一条#include <urlmon.h>语句。

  2. link 到 urlmon.lib 文件,方法是将文件添加到项目,或在代码的 #pragma comment(lib, "urlmon.lib") 语句中引用它。

您缺少第 2 步,这就是您收到 linker 错误的原因。