2013-03-14 219 views
2

我試圖建立谷歌的V8 JavaScript引擎與64位系統上MS的Visual Studio 2012,但它總是輸出錯誤谷歌V8生成錯誤LNK1104:無法打開文件「WS2_32.LIB」

LINK : fatal error LNK1104: cannot open file 'ws2_32.lib' 

我根據https://code.google.com/p/v8/wiki/BuildingWithGYP完成了所有的事情。我使用python方法而不是cygwin來生成項目文件。

如何設置我的鏈接器,它發現ws2_32.lib

//編輯由於某些原因,GYP爲vs2010製作了項目文件,而不是vs2012,所以我不得不更新它們。現在它可以工作。 (奇怪的是,我之前嘗試過,它不工作)

+0

姆姆。我使用GYP自己在64位Windows上構建了帶有Visual Studio 2012的64位v8。我知道這並不能真正回答你的問題,但只是爲了確認它是可行的。我不記得有任何lib鏈接問題。你是否完成了「third_party \ cygwin」的結賬?即使使用GYP/Python構建,您仍然需要它。 – Sim 2013-03-14 17:13:53

+0

是的,我有一個third_party \ cygwin的結帳。項目文件的創建工作正常,但Visual Studio在嘗試構建時會輸出此鏈接錯誤。 – user1950929 2013-03-14 19:57:19

回答

1

GYP創建VS2010項目文件,所以我不得不將它們更新到VS2012。

2

在我設法在Windows 7 64位上構建和鏈接V8之前,我遇到了幾個問題,包括你的問題 - (我爲32位構建的)。

  1. 確保您添加了一個「THIRD_PARTY」文件夾到V8結賬並把它添加Cygwin和python_26從文檔谷歌的URI內。 (grep V8文件「third_party」表示精確的文件結構)。

  2. 現在運行gyp工具。 (與third_party缺失時完全相同的反饋只需要更長的時間,實際上可以代替生成垃圾解決方案文件)。

  3. 加載all.sln,它應該全部構建調試和發佈。我正在使用vs2012和DIDNT從vs2010升級項目,這可能很重要。

最後,當談到對v8_base.ia32.lib和v8_snapshot.lib(或64位版本)連接 - 我需要鏈接「WS2_32.LIB」和「WINMM.LIB」由於無法解析的外部V8 lib。

由於某些原因,V8需要訪問win32套接字API和多媒體定時器。如果沒有隱藏的平臺api包裝器,將會有很好的選擇。

相關問題