0

我正在尝试使用 URLDownloadFileW 函数从链接下载 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;

我已经在标题上声明了 Urlmon.h,但是,当我构建项目时,它返回给我:

[ilink32 Error] Error: Unresolved external 'URLDownloadToFileW' referenced from C:\USERS\ADMINISTRADOR\DESKTOP\SD MANUTENÇÃO\WIN32\ DEBUG\SDSUPER449.OBJ
[ilink32 错误] 错误:无法执行链接

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

4

1 回答 1

0

urlmon.h编译器需要编译您的代码。编译器创建对URLDownloadToFileW函数的引用,但不关心函数存在的位置。那是链接器的工作要弄清楚。

urlmon.lib链接器需要解析编译器对该URLDownloadToFileW函数的引用。

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

您需要同时执行以下操作:

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

  2. urlmon.lib通过将文件添加到项目或#pragma comment(lib, "urlmon.lib")在代码中的语句中引用它来链接到文件。

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

于 2016-12-29T06:13:51.850 回答