在完全不同环境(工作,家庭)的2台独立机器上,我无法开箱即可编译libCURL。运行nmake -f Makefile.vc mode = dll VC = 10,我得到_IdnToAscii和_IdnToUnicode的未解决的外部符号错误。我相信定义在Normaliz.lib中,它在LFLAGS中被引用,但它要么找不到它,要么我的版本没有这些函数。但我没有看到任何下载此文件的选项...任何人都有一个很好的解决方案,而不是评论出使用这些功能的2行?
答案 0 :(得分: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或forgo IDN安装软件包。 要在没有IDN的情况下构建,只需将 ENABLE_IDN =否传递给 nmake 。
NB:在使用不同参数重新运行nmake之前删除已分类的构建目录非常重要,因为某些库引用可能已经存在于生成的目标代码中。