2

在完全不同的环境(工作、家庭)中的两台不同的机器上,我无法开箱即用地编译 libCURL。运行 nmake -f Makefile.vc mode=dll VC=10,我得到 _IdnToAscii 和 _IdnToUnicode 的未解决的外部符号错误。我相信定义在 Normaliz.lib 中,它在 LFLAGS 中被引用,但它要么没有找到它,要么我拥有的版本没有这些功能。但是我没有看到任何下载此文件的选项...除了注释掉使用这些功能的 2 行之外,任何人都有一个很好的解决方案吗?

4

1 回答 1

2

看起来您没有来自 Windows 的 IDN API。根据 Windows 文档:http: //msdn.microsoft.com/en-us/library/windows/desktop/dd318151%28v=vs.85%29.aspx

以及 libcurl 构建说明: https ://github.com/bagder/curl/blob/master/winbuild/BUILD.WINDOWS.txt

IDN API 可从 Vista 及更高版本获得,并可从以下位置安装: http: //www.microsoft.com/downloads/details.aspx? FamilyID=AD6158D7-DDBA-416A-9109-07607425A815

您可以在 Vista 上构建它,也可以从 Microsoft 安装软件包或放弃 IDN。要在没有 IDN 的情况下构建,只需将ENABLE_IDN=no传递给nmake

注意:在重新运行具有不同参数的 nmake 之前删除各种构建目录很重要,因为某些库引用可能已经在生成的目标代码中。

于 2012-10-11T19:28:26.190 回答