【发布时间】:2016-12-17 15:01:08
【问题描述】:
我已按照Building with GN 的说明使用 Visual Studio 2015 在 Windows 10 上构建 Google V8。我做了什么:
获取V8,下载并解压depot-tools。
C:\build-depot> set DEPOT_TOOLS_WIN_TOOLCHAIN=0
C:\build-depot> gclient
C:\build-depot> set GYP_MSVS_VERSION=2015
C:\build-depot> fetch v8
正在生成构建文件...
C:\build-depot\v8> python tools\dev\v8gen.py x64.debug
C:\build-depot\v8> python tools\dev\v8gen.py x64.release
...和编译
C:\build-depot\v8> ninja -C out.gn\x64.debug
C:\build-depot\v8> ninja -C out.gn\x64.release
在debug模式下生成的静态库:
C:\depot_tools\v8\out.gn\x64.debug>dir /s/b *.lib
C:\depot_tools\v8\out.gn\x64.debug\cctest.lib
C:\depot_tools\v8\out.gn\x64.debug\icui18n.dll.lib
C:\depot_tools\v8\out.gn\x64.debug\icuuc.dll.lib
C:\depot_tools\v8\out.gn\x64.debug\mkpeephole.lib
C:\depot_tools\v8\out.gn\x64.debug\mksnapshot.lib
C:\depot_tools\v8\out.gn\x64.debug\v8.dll.lib
C:\depot_tools\v8\out.gn\x64.debug\v8_libbase.dll.lib
C:\depot_tools\v8\out.gn\x64.debug\v8_libplatform.dll.lib
C:\depot_tools\v8\out.gn\x64.debug\obj\build\config\sanitizers\options_sources.lib
C:\depot_tools\v8\out.gn\x64.debug\obj\testing\gmock\gmock.lib
C:\depot_tools\v8\out.gn\x64.debug\obj\testing\gmock\gmock_main.lib
C:\depot_tools\v8\out.gn\x64.debug\obj\testing\gtest\gtest.lib
发布模式下生成的静态库:
C:\depot_tools\v8\out.gn\x64.release\obj\v8_libbase.lib
C:\depot_tools\v8\out.gn\x64.release\obj\v8_libplatform.lib
C:\depot_tools\v8\out.gn\x64.release\obj\build\config\sanitizers\options_sources.lib
C:\depot_tools\v8\out.gn\x64.release\obj\testing\gmock\gmock.lib
C:\depot_tools\v8\out.gn\x64.release\obj\testing\gmock\gmock_main.lib
C:\depot_tools\v8\out.gn\x64.release\obj\testing\gtest\gtest.lib
C:\depot_tools\v8\out.gn\x64.release\obj\third_party\icu\icui18n.lib
C:\depot_tools\v8\out.gn\x64.release\obj\third_party\icu\icuuc.lib
问题
正如您在上面的列表中看到的,v8.dll.lib 是在调试模式下生成的,但在发布模式下会丢失,顺便说一句,v8.dll 也是如此。两个问题:
- 为什么这些库不在发布模式下生成?
- 如果缺少这些库,我应该如何在发布模式下链接到 V8?
提前致谢!
【问题讨论】:
标签: visual-studio visual-c++ v8