2012-10-07 43 views
2

在完全不同的环境下2台独立的机器(工作,家庭),我已经无法编译libcurl的开箱链接的libcurl的最新稳定版本。运行nmake -f Makefile.vc mode = dll VC = 10,对于_IdnToAscii和_IdnToUnicode,我得到一个无法解析的外部符号错误。我相信这些定义是在LFLAGS中引用的Normaliz.lib中的,但它要么没有找到它,要么我的版本没有这些功能。但我没有看到任何选择来下载这个文件...任何人都有一个很好的解决方案没有评论使用这些功能的2行?如何使用VC++ 2010

回答

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 =没有NMAKE

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

+0

运行带有USE_IDN = no的命令最初并不起作用,但在删除了各种构建目录之后,它工作正常。这大概是为什么我问这个问题,因为我之前尝试过这个问题,但没有想到要做一个完整的重建。 IDN安装并未解决问题,但是我可以在没有它的情况下使用libcurl,因此它不是非常重要。 – Rollie

+0

你建立什么操作系统? –

+0

Windows 7,问题存在于企业和家庭版本 – Rollie