在完全不同环境(工作、家庭)的两台独立机器上,我无法开箱即用地编译 libCURL。运行 nmake -f Makefile.vc mode=dll VC=10,我收到 _IdnToAscii 和 _IdnToUnicode 的 Unresolved external symbol 错误。我相信这些定义位于 Normaliz.lib 中,它在 LFLAGS 中被引用,但它要么没有找到它,要么我拥有的版本没有这些功能。但我没有看到任何下载此文件的选项...除了注释掉使用这些函数的两行之外,有人有一个好的解决方案吗?
最佳答案
您似乎没有 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 之前删除各种构建目录非常重要,因为某些库引用可能已经存在于生成的目标代码中。
关于c - 如何使用 vc++2010 链接 libCURL 的最新稳定版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12765914/