2016-12-17 88 views
0

我跟着Building with GN的说明与Visual Studio 2015年我所做的在Windows 10建立谷歌V8:谷歌V8 - 无论v8.dll也不v8.dll.lib得到建在释放模式

获取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 

静态库模式:

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列表中看到,但在释放模式,这BTW也丢失对于v8.dll为真。两个问题:

  1. 为什么这些库不是在发布模式下生成的?
  2. 如何在发布模式下链接V8,当这些库缺失时?

在此先感谢!

回答

0

默认情况下发布模式版本是静态链接的,而不是创建v8.dll共享库。您可以通过运行gn args out.gn\x64.release并添加行is_component_build = true,然后保存并关闭该文件并重建来更改该文件。