Found workaround, but still have problem!
Workaround: building as ninja -j1 -C out.gn/optdebug.x64 d8
This seems to build everything necessary.
Then added following libs to linker options:
icui18n.lib
icuuc.lib
v8_base.lib
v8_external_snapshot.lib
v8_libbase.lib
v8_libplatform.lib
v8_libsampler.lib

So building now as static lib, but still have issue:

Many errors like this (pasting here one instance of each):

1>v8_base.lib(api.obj) : error LNK2038: mismatch detected for
'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value
'MDd_DynamicDebug' in application.obj

1>v8_base.lib(preparser.obj) : error LNK2001: unresolved external symbol
"void (__cdecl* std::_Raise_handler)(class stdext::exception const &)"
(?_Raise_handler@std@@3P6AXAEBVexception@stdext@@@ZEA)

1>icuuc.lib(messagepattern.obj) : error LNK2005: "public: __cdecl
std::_Container_base12::_Container_base12(void)" (??0_Container_base12@std
@@QEAA@XZ) already defined in msvcprtd.lib(MSVCP120D.dll)

1>v8_base.lib(type-hint-analyzer.obj) : error LNK2001: unresolved external
symbol "__int64 const std::_BADOFF" (?_BADOFF@std@@3_JB)

1>v8_base.lib(bytecode-peephole-optimizer.obj) : error LNK2001: unresolved
external symbol "private: static int std::locale::id::_Id_cnt" (?_Id_cnt@id
@locale@std@@0HA)

1>v8_base.lib(bytecode-array-builder.obj) : error LNK2001: unresolved
external symbol "public: static class std::locale::id std::ctype<char>::id"
(?id@?$ctype@D@std@@2V0locale@2@A)

1>v8_base.lib(simplified-lowering.obj) : error LNK2001: unresolved external
symbol _Nan

My app in the configuration I am building (sort of "Debug") is linking to
dynamic debug CRT, and I am generally expect that V8 built statically will
be linking to that too, but seems like this is not the case.
Please advise, what to change  else in the GN configs to get it working?

2016-11-16 18:47 GMT+02:00 Ivan Pizhenko <ivan.pizhe...@gmail.com>:

> Content of RSP file
>
> obj/build/win/default_exe_manifest/default_exe_manifest.manifest.res
> obj/json_fuzzer.lib
> obj/simple_fuzzer.lib
> obj/fuzzer_support.lib
> obj/v8_libplatform.lib
> obj/v8_libbase.lib
> obj/v8_external_snapshot.lib
> obj/v8_base.lib
> obj/v8_libsampler.lib
> obj/third_party/icu/icui18n.lib
> obj/third_party/icu/icuuc.lib advapi32.lib comdlg32.lib dbghelp.lib
> delayimp.lib dnsapi.lib gdi32.lib kernel32.lib msimg32.lib odbc32.lib
> odbccp32.lib ole32.lib oleaut32.lib psapi.lib shell32.lib shlwapi.lib
> user32.lib usp10.lib uuid.lib version.lib wininet.lib winmm.lib
> winspool.lib ws2_32.lib  /DEBUG /MACHINE:X64 /FIXED:NO /ignore:4199
> /ignore:4221 /NXCOMPAT /maxilksize:0x7ff00000 /fastfail /DYNAMICBASE:NO
> /INCREMENTAL /SUBSYSTEM:CONSOLE,5.02 /STACK:2097152 /LIBPATH:"C:/Program
> Files (x86)/Windows Kits/10/Lib/winv6.3/um/x64" /LIBPATH:"C:/Program Files
> (x86)/Microsoft Visual Studio 12.0/VC/lib/amd64" /LIBPATH:"C:/Program Files
> (x86)/Microsoft Visual Studio 12.0/VC/atlmfc/lib/amd64"
>
> 2016-11-16 18:45 GMT+02:00 Ivan Pizhenko <ivan.pizhe...@gmail.com>:
>
>> Edited gni/v8.gni as you recommended and trying to build with following
>> args.gn:
>>
>> is_component_build = false
>> is_debug = true
>> v8_optimized_debug=false
>> target_cpu="x64"
>> v8_target_cpu="x64"
>>
>> and getting following error:
>>
>> ninja -j1 -C out.gn/x64.debug
>> ninja: Entering directory `out.gn/x64.debug'
>> [1/287] LINK v8_simple_json_fuzzer.exe
>> FAILED: v8_simple_json_fuzzer.exe
>> L:/depot_tools/python276_bin/python.exe gyp-win-tool link-wrapper
>> environment.x64 False link.exe /nologo /OUT:v8_simple_
>> json_fuzzer.exe /PDB:v8_simple_json_fuzzer.exe.pdb
>> @v8_simple_json_fuzzer.exe.rsp
>> LINK : warning LNK4044: unrecognized option '/fastfail'; ignored
>> LINK : error LNK2001: unresolved external symbol mainCRTStartup
>> v8_simple_json_fuzzer.exe : fatal error LNK1120: 1 unresolved externals
>>
>> what I am doing wrong? please advice.
>>
>> 2016-11-16 0:01 GMT+02:00 Ivan Pizhenko <ivan.pizhe...@gmail.com>:
>>
>>> Thaks, I will try this workaround, but also please tell me, what exactly
>>> do you mean by current development branch? Which version of V8 does it
>>> corresponds? 5.5?  5.6?
>>>
>>> 2016-11-10 20:33 GMT+02:00 Jochen Eisinger <joc...@chromium.org>:
>>>
>>>> on 5.3, it's not yet possible to build the libplatform as a shared
>>>> library (dll), sorry. This is fixed in the current development branch.
>>>>
>>>> also, by default we don't actually create static libraries, but gn just
>>>> keeps track of the object files you need. You can change that by manually
>>>> replacing source_set with static_library in the v8_source_set template in
>>>> gni/v8.gni
>>>>
>>>> hth
>>>> -jochen
>>>>
>>>> On Thu, Nov 10, 2016 at 3:37 PM Ivan Pizhenko <ivan.pizhe...@gmail.com>
>>>> wrote:
>>>>
>>>> So I would like to hear comments on this from some V8 developer or
>>>> whoever solved the issue w/o Nuget package.
>>>>
>>>> 2016-11-10 16:05 GMT+02:00 Ivan Pizhenko <ivan.pizhe...@gmail.com>:
>>>>
>>>> Thank you for advise, George, but what you suggest is not an option in
>>>> the my case, I need to have built from sources exactly this stable version
>>>> 5.3.332.45. There is no Nuget package fir exactly this version, and there
>>>> are also other circumstances those prevent me using  Nuget package. So I am
>>>> looking for exactly an explanation on how to solve this manually.
>>>>
>>>> 2016-11-09 19:36 GMT+02:00 George Marques <georgemje...@gmail.com>:
>>>>
>>>> I also had troubles with the build system. I found it's much easier to
>>>> just use this Nuget package: https://github.com/pmed/v8-nuget.
>>>>
>>>>
>>>> On Wednesday, November 9, 2016 at 5:42:19 AM UTC-2, Ivan P. wrote:
>>>>
>>>> Hello, I am porting my app from V8 3.19 to V8 5.3.332.45.
>>>> I have built new V8 version as DLL using Visual Studio 2013, updated
>>>> code of my app to use updated APIs  and now trying to perform full build of
>>>> my app.
>>>> My app doesn't use GN to build it, it is normal Visual Studio 2013
>>>> project. I have specified v8.dll.lib as additional linker input.
>>>>
>>>> I get following linker error:
>>>> 1>v8init.obj : error LNK2019: unresolved external symbol "class
>>>> v8::Platform * __cdecl v8::platform::CreateDefaultPlatform(int)"
>>>> (?CreateDefaultPlatform@platform@v8@@YAPEAVPlatform@2@H@Z) referenced
>>>> in function .... "
>>>>
>>>> I suppose v8::platform::CreateDefaultPlatform() must be present in
>>>> libplatform, but because the error happens, I can make conclusion that
>>>> libplatform it is not included into v8.dll.lib.
>>>> I have examined V8 build outputs and couldn't find libplatform as
>>>> separate static lib or DLL: here is list of libs generated during the
>>>> build, here is what I have:
>>>>
>>>> icui18n.dll
>>>> icuuc.dll
>>>> msvcp120.dll
>>>> msvcp120d.dll
>>>> msvcr120.dll
>>>> msvcr120d.dll
>>>> pgort120.dll
>>>> v8.dll
>>>>
>>>>
>>>> cctest.lib
>>>> generate-bytecode-expectations.lib
>>>> icui18n.dll.lib
>>>> icuuc.dll.lib
>>>> mksnapshot.lib
>>>> unittests.lib
>>>> v8.dll.lib
>>>> v8_parser_shell.lib
>>>> v8_simple_json_fuzzer.lib
>>>> v8_simple_parser_fuzzer.lib
>>>> v8_simple_regexp_fuzzer.lib
>>>> v8_simple_wasm_asmjs_fuzzer.lib
>>>> v8_simple_wasm_fuzzer.lib
>>>>
>>>> Please advise - either how to tune build to have libplatform generated
>>>> as separate DLL or included to v8.dll ?
>>>> Or is it safe to make manually libplatform from obj files and link it,
>>>> taking into account v8 is DLL?
>>>>
>>>> Thanks.
>>>>
>>>> --
>>>> --
>>>> v8-users mailing list
>>>> v8-users@googlegroups.com
>>>> http://groups.google.com/group/v8-users
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "v8-users" group.
>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>>> pic/v8-users/Y05xPj956Ys/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> v8-users+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>>
>>>>
>>>> --
>>>> --
>>>> v8-users mailing list
>>>> v8-users@googlegroups.com
>>>> http://groups.google.com/group/v8-users
>>>> ---
>>>> You received this message because you are subscribed to the Google
>>>> Groups "v8-users" group.
>>>> To unsubscribe from this group and stop receiving emails from it, send
>>>> an email to v8-users+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>> --
>>>> --
>>>> v8-users mailing list
>>>> v8-users@googlegroups.com
>>>> http://groups.google.com/group/v8-users
>>>> ---
>>>> You received this message because you are subscribed to a topic in the
>>>> Google Groups "v8-users" group.
>>>> To unsubscribe from this topic, visit https://groups.google.com/d/to
>>>> pic/v8-users/Y05xPj956Ys/unsubscribe.
>>>> To unsubscribe from this group and all its topics, send an email to
>>>> v8-users+unsubscr...@googlegroups.com.
>>>> For more options, visit https://groups.google.com/d/optout.
>>>>
>>>
>>>
>>
>

-- 
-- 
v8-users mailing list
v8-users@googlegroups.com
http://groups.google.com/group/v8-users
--- 
You received this message because you are subscribed to the Google Groups 
"v8-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to v8-users+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to