Re: [v8-users] Re: Linking V8 to app on Windows
This bug is fixed now: https://bugs.chromium.org/p/v8/issues/detail?id=6158==ID%20Type%20Status%20Priority%20Owner%20Summary%20HW%20OS%20Component%20Stars=1000 On Wednesday, 1 March 2017 18:16:49 UTC, DánielN wrote: > > I would like to add some more information to this topic. It could be > useful to someone later. The previous version of V8 I am using is about a > year old now and I would like to debug javascript in the embedded vm that > is why I need the latest version. > I struggled a lot to make it work. I did not managed to create the > necessary static libs. First I linked the obj files. It was a working but > ugly solution. Then I found this topic that led me to the "proper" solution. > > I had to have the static libs with statically linked runtime. > > Here are the steps that worked for me: > > download and unzip > https://storage.googleapis.com/chrome-infra/depot_tools.zip to a folder > (e.g. d:\Dev\v8-3\depot_tools) > prepend (not append!) depot_tools to PATH:> > path=d:\Dev\v8-3\depot_tools;%PATH% > > gclient > > set DEPOT_TOOLS_WIN_TOOLCHAIN=0 > > fetch v8 > > cd v8 > (if the next step does not work reinstall Win SDK 10 (maybe just the > debugging tools from it suffices)) > > gn gen --args="is_debug=false is_component_build=false > v8_use_snapshot=true v8_use_external_startup_data=false > v8_static_library=true" --ide=vs out\Default > > call "C:\Program Files (x86)\Microsoft Visual Studio > 14.0\VC\vcvarsall.bat" amd64 > > msbuild out\Default\all.sln /nologo /t:Build > /p:Configuration=GN,Platform=x64 /v:normal > > Three things to highlight > 1. The "shard" feature seems to have disappeared. The v8_base.lib is 0.4G > in release. > 2. v8_libsampler.lib, DbgHelp.lib and Shlwapi.lib should probably be > linked to the project to avoid unresolved external references > 3. I had to change BUILD.gn to sort out several project failures caused by > the referenced but not created wasm_test_signatures.lib: > v8_source_set("wasm_test_signatures") { > sources = [ > "test/common/wasm/test-signatures.cc", #this is new > "test/common/wasm/test-signatures.h", > ] > configs = [ > ":external_config", > ":internal_config_base", > ] > } > > I also added a new file "test/common/wasm/test-signatures.cc". This file > is only one line, it includes test/common/wasm/test-signatures.h. > After these changes gn gen generated the correct project file > (wasm_test_signatures.vcxproj) that created the missing > wasm_test_signatures.lib. (Interestingly "msbuild > out\Default2\obj\wasm_test_signatures.vcxproj /nologo /t:Build > /p:Configuration=GN,Platform=x64 /v:normal" did not fail but it did not > create the lib, either) > > And finally this is how I link V8 to my project on Windows: > #if defined(_WIN32) > #//define V8_SHARD > #define V8_SNAPSHOT > #//define V8_EXTERNAL_SNAPSHOT > #if defined(V8_SHARD) > #pragma comment(lib, "v8_base_0.lib") > #pragma comment(lib, "v8_base_1.lib") > #pragma comment(lib, "v8_base_2.lib") > #pragma comment(lib, "v8_base_3.lib") > #else > #pragma comment(lib, "v8_base.lib") > #endif//V8_SHARD > #pragma comment(lib, "v8_libbase.lib") > #pragma comment(lib, "v8_libplatform.lib") > #pragma comment(lib, "v8_libsampler.lib") > #pragma comment(lib, "icui18n.lib") > #pragma comment(lib, "icuuc.lib") > #pragma comment(lib, "winmm.lib") > #pragma comment(lib, "DbgHelp.lib") > #pragma comment(lib, "Shlwapi.lib") > #if defined(V8_SNAPSHOT) > #if defined(V8_EXTERNAL_SNAPSHOT) > #pragma comment(lib, "v8_external_snapshot.lib") > #else > #pragma comment(lib, "v8_snapshot.lib") > #endif > #else > # pragma comment(lib, "v8_nosnapshot.lib") > #endif//V8_SNAPSHOT > #endif//_WIN32 > > > This is a the version I built: bfa425cc0841f17294e933e8d3611aad42deb2ee > (Tue Feb 28 07:31:08 2017 -0800) > > The problem with wasm_test_signatures.lib seems to be a bug. Could someone > please confirm and fix it? > > Is there a document that describes how to link V8 to projects? It can be > quite a daunting job to upgrade it from an older version. > > On Friday, 18 November 2016 17:22:55 UTC, Ivan P. wrote: >> >> Found solution. So just if someone needs- >> 1. update v8/gni/v8.gni, put static library >> template("v8_source_set") { >> static_library(target_name) { >> 2. generate build files with gn >> 3. Run ninja -j1 -C yourbuilddir d8 >> Build only d8 - this will build all necessary libs. >> Then pick yourbuilddir/obj/*.lib and following >> yourbuilddir/icuuc.dll >> yourbuilddir/icuuc.dll.lib >> yourbuilddir/icuuc.dll.pdb >> yourbuilddir/icui18n.dll >> yourbuilddir/icui18n.dll.lib >> yourbuilddir/icui18n.dll.pdb >> yourbuilddir/icudtl.dat >> Link with all libs from picked, except you need to select between >> v8_nosnaphshot.lib or v8_external_snapshot.lib depending on what you need. >> Hoping
Re: [v8-users] Re: Linking V8 to app on Windows
I would like to add some more information to this topic. It could be useful to someone later. The previous version of V8 I am using is about a year old now and I would like to debug javascript in the embedded vm that is why I need the latest version. I struggled a lot to make it work. I did not managed to create the necessary static libs. First I linked the obj files. It was a working but ugly solution. Then I found this topic that led me to the "proper" solution. I had to have the static libs with statically linked runtime. Here are the steps that worked for me: download and unzip https://storage.googleapis.com/chrome-infra/depot_tools.zip to a folder (e.g. d:\Dev\v8-3\depot_tools) prepend (not append!) depot_tools to PATH:> path=d:\Dev\v8-3\depot_tools;%PATH% > gclient > set DEPOT_TOOLS_WIN_TOOLCHAIN=0 > fetch v8 > cd v8 (if the next step does not work reinstall Win SDK 10 (maybe just the debugging tools from it suffices)) > gn gen --args="is_debug=false is_component_build=false v8_use_snapshot=true v8_use_external_startup_data=false v8_static_library=true" --ide=vs out\Default > call "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 > msbuild out\Default\all.sln /nologo /t:Build /p:Configuration=GN,Platform=x64 /v:normal Three things to highlight 1. The "shard" feature seems to have disappeared. The v8_base.lib is 0.4G in release. 2. v8_libsampler.lib, DbgHelp.lib and Shlwapi.lib should probably be linked to the project to avoid unresolved external references 3. I had to change BUILD.gn to sort out several project failures caused by the referenced but not created wasm_test_signatures.lib: v8_source_set("wasm_test_signatures") { sources = [ "test/common/wasm/test-signatures.cc", #this is new "test/common/wasm/test-signatures.h", ] configs = [ ":external_config", ":internal_config_base", ] } I also added a new file "test/common/wasm/test-signatures.cc". This file is only one line, it includes test/common/wasm/test-signatures.h. After these changes gn gen generated the correct project file (wasm_test_signatures.vcxproj) that created the missing wasm_test_signatures.lib. (Interestingly "msbuild out\Default2\obj\wasm_test_signatures.vcxproj /nologo /t:Build /p:Configuration=GN,Platform=x64 /v:normal" did not fail but it did not create the lib, either) And finally this is how I link V8 to my project on Windows: #if defined(_WIN32) #//define V8_SHARD #define V8_SNAPSHOT #//define V8_EXTERNAL_SNAPSHOT #if defined(V8_SHARD) #pragma comment(lib, "v8_base_0.lib") #pragma comment(lib, "v8_base_1.lib") #pragma comment(lib, "v8_base_2.lib") #pragma comment(lib, "v8_base_3.lib") #else #pragma comment(lib, "v8_base.lib") #endif//V8_SHARD #pragma comment(lib, "v8_libbase.lib") #pragma comment(lib, "v8_libplatform.lib") #pragma comment(lib, "v8_libsampler.lib") #pragma comment(lib, "icui18n.lib") #pragma comment(lib, "icuuc.lib") #pragma comment(lib, "winmm.lib") #pragma comment(lib, "DbgHelp.lib") #pragma comment(lib, "Shlwapi.lib") #if defined(V8_SNAPSHOT) #if defined(V8_EXTERNAL_SNAPSHOT) #pragma comment(lib, "v8_external_snapshot.lib") #else #pragma comment(lib, "v8_snapshot.lib") #endif #else # pragma comment(lib, "v8_nosnapshot.lib") #endif//V8_SNAPSHOT #endif//_WIN32 This is a the version I built: bfa425cc0841f17294e933e8d3611aad42deb2ee (Tue Feb 28 07:31:08 2017 -0800) The problem with wasm_test_signatures.lib seems to be a bug. Could someone please confirm and fix it? Is there a document that describes how to link V8 to projects? It can be quite a daunting job to upgrade it from an older version. On Friday, 18 November 2016 17:22:55 UTC, Ivan P. wrote: > > Found solution. So just if someone needs- > 1. update v8/gni/v8.gni, put static library > template("v8_source_set") { > static_library(target_name) { > 2. generate build files with gn > 3. Run ninja -j1 -C yourbuilddir d8 > Build only d8 - this will build all necessary libs. > Then pick yourbuilddir/obj/*.lib and following > yourbuilddir/icuuc.dll > yourbuilddir/icuuc.dll.lib > yourbuilddir/icuuc.dll.pdb > yourbuilddir/icui18n.dll > yourbuilddir/icui18n.dll.lib > yourbuilddir/icui18n.dll.pdb > yourbuilddir/icudtl.dat > Link with all libs from picked, except you need to select between > v8_nosnaphshot.lib or v8_external_snapshot.lib depending on what you need. > Hoping that this will be helpful for someone else. > > 2016-11-18 2:24 GMT+02:00 Ivan Pizhenko>: > >> 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
Re: [v8-users] Re: Linking V8 to app on Windows
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: > 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 : > >> 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 >> 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 : >> >> 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 : >> >> 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 >>
Re: [v8-users] Re: Linking V8 to app on Windows
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: > 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 > 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 : > > 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 : > > 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/ > topic/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/ > topic/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.
Re: [v8-users] Re: Linking V8 to app on Windows
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 Pizhenkowrote: 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 : 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 : 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/topic/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 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.
Re: [v8-users] Re: Linking V8 to app on Windows
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: > 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 : > >> 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.
Re: [v8-users] Re: Linking V8 to app on Windows
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: > 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/ > topic/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.