2012-10-07 71 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