谷歌V8构建错误LNK1104:无法打开文件'ws2_32.lib'

时间:2013-03-14 15:44:11

标签: build visual-studio-2012 linker v8

我试图在64位系统上使用MS Visual Studio 2012构建谷歌的V8 JavaScript引擎,但它总是输出错误

 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制作了项目文件,所以我不得不更新它们。现在它有效。 (很奇怪,我以前试过这个并且它没有工作)

2 个答案:

答案 0 :(得分:2)

在我设法在Windows 7 64bit上构建和链接V8之前,我遇到了一些问题包括你的问题 - (我为32位构建)。

  1. 确保您已将“third_party”文件夹添加到V8结帐中,并在其中添加了来自文档中google uri的cygwin和python_26。 (greping V8文件为“third_party”表示精确的文件结构)。

  2. 现在运行gyp工具。 (与缺少third_party时的反馈完全相同,只需花费更长时间并实际工作,而不是生成垃圾解决方案文件)。

  3. 加载all.sln,它应该构建调试和发布。我正在使用vs2012和DIDNT从vs2010升级项目,这可能很重要。

  4. 最后,当涉及到v8_base.ia32.lib和v8_snapshot.lib(或64位版本)的链接时 - 我需要链接“Ws2_32.lib”和“winmm.lib”,因为V8 lib中存在未解析的外部。 / p>

    出于某种原因,V8需要访问win32套接字api和多媒体计时器。很高兴有一个没有隐藏平台api包装器的精简选项。

答案 1 :(得分:1)

GYP创建了VS2010项目文件,所以我不得不将它们更新到VS2012。