For what you describe, building a release DLL via MSVC should work fine (however Debug builds still have issues).
See https://groups.google.com/forum/#!topic/v8-users/cvFGONOg_BY and https://groups.google.com/forum/#!topic/v8-users/mmwWxpb64_I for prior discussions. - Bill On Tuesday, February 25, 2020 at 9:37:55 PM UTC-8, Ben Ernst wrote: > > Clemens, Dimitar, > This use case is very important to me also. I think there are a few > threads in this group on the topic. For my part, I have complex application > with many third party dependencies. Those dependencies do not support > clang. So I can't compile my application with clang. I also call V8 code > from several different first-party dynamically linked libraries within my > application. Using a static linked build of V8 doesn't work in this > situation. There is static data in V8 that ends up in multiple DLLs, and > messes things up in horrible ways. I can re-architect to only link to V8 > from one DLL to fix this. Since dynamic-linked V8 is no longer supported, I > am slowly working on this, but it's a complex and painful task. > Cheers, > Ben Ernst > > On Wednesday, 26 February 2020 05:17:47 UTC+10:30, Clemens Backes wrote: >> >> On Tue, Feb 25, 2020 at 7:01 PM <[email protected]> wrote: >> >>> Hi Clemens, >>> >>> I don't see any discussion in the bug https://crbug.com/v8/9555 about >>> the support for MSVC. >>> Is there a place, where we can vote or explain our use case for not >>> breaking the usage of v8 from MSVC? >>> >> >> You are right, the issue only raises the question but does not answer it. >> This is a product decision that would best be made by +Michael Hablich. >> >> I think this mailing list would actually be a good place to explain your >> use case. Alternatively, a v8 issue would also do, since depending on the >> outcome there will be infrastructure work to do on our side. >> >> Cheers, >> Clemens >> >> >>> Best regards, >>> Dimitar >>> >>> On Monday, July 29, 2019 at 1:43:30 PM UTC+3, Clemens Backes wrote: >>>> >>>> Note: This is being tracked as https://crbug.com/v8/9555 now. I am >>>> just landing a fix for this <https://crrev.com/c/1720669>, and on the >>>> bug we are discussing whether we care enough about MSVC debug to add a bot >>>> to the waterfall. >>>> >>>> On Mon, Jul 29, 2019 at 12:36 PM Jakob Kummerow <[email protected]> >>>> wrote: >>>> >>>>> if someone has the magic args.gn needed, I'd appreciate it. >>>>> >>>>> >>>>> For the record, you can easily get any build bot's args.gn: click >>>>> through to a specific build (in this case, e.g. >>>>> https://ci.chromium.org/p/v8/builders/try/v8_win64_msvc_compile_rel/b8906608002392908144), >>>>> >>>>> and in the "Steps and Logs" section, look for "gn_args". >>>>> >>>>> Is this still supported? >>>>> >>>>> >>>>> I'm not sure what the official policy is at the moment. I think at the >>>>> very least, we would happily accept patches that maintain the MSVC build. >>>>> As you have figured out, we have Release-mode buildbot coverage for it; I >>>>> guess we assume that MSVC Debug builds are used and/or break rarely >>>>> enough >>>>> that spending bot resources on them is hard to justify. >>>>> >>>>> >>>>> On Fri, Jul 26, 2019 at 1:05 AM billti via v8-dev < >>>>> [email protected]> wrote: >>>>> >>>>>> A colleague tracked it down to the CSA_ASSERT macro in >>>>>> code-stub-assembler.h failing in debug builds (looks like the tryjob >>>>>> only >>>>>> builds rel for MSVC). >>>>>> >>>>>> This change 16 days ago seems to have broken it: >>>>>> https://chromium-review.googlesource.com/c/v8/v8/+/1693002 . If I >>>>>> check out the parent commit (0fd3766) I can build debug fine in MSVC >>>>>> (after >>>>>> one more trivial MSVC fix in a DCHECK in wasm-module-builder.cc). It >>>>>> still >>>>>> gives the "/Zc:twoPhase" compiler option warning, but hopefully that's >>>>>> benign. >>>>>> >>>>>> I'll log a bug. >>>>>> >>>>>> On Thursday, July 25, 2019 at 3:38:20 PM UTC-7, [email protected] >>>>>> wrote: >>>>>>> >>>>>>> Is this still supported? >>>>>>> >>>>>>> Trying to build the tip of master with 'is_clang = false' in args.gn >>>>>>> (and various other attempted options) is giving lots of different >>>>>>> warnings >>>>>>> and failures, e.g. >>>>>>> >>>>>>> >>>>>>> cl : Command line warning D9002 : ignoring unknown option >>>>>>> '/Zc:twoPhase' >>>>>>> .etc. >>>>>>> [501/1829] CXX >>>>>>> obj/torque_generated_initializers/proxy-set-property-tq-csa.obj >>>>>>> FAILED: >>>>>>> obj/torque_generated_initializers/proxy-set-property-tq-csa.obj >>>>>>> .etc. >>>>>>> C:\src\v8\v8\src/codegen/code-stub-assembler.h(493): error C2059: >>>>>>> syntax error: ',' >>>>>>> .etc. >>>>>>> C:\src\v8\v8\src/objects/tagged-impl-inl.h(18): fatal error C1003: >>>>>>> error count exceeds 100; stopping compilation >>>>>>> .etc. >>>>>>> >>>>>>> It's the first time I've tried with MSVC, so may be doing something >>>>>>> wrong. (I have no issues with the default clang-based builds on the >>>>>>> same >>>>>>> machine). >>>>>>> >>>>>>> I can see from task manager and the log output it is using the right >>>>>>> MSVC compiler (I tried with VS 2017 and VS 2019 installs), e.g. >>>>>>> >>>>>>> > ninja -t msvc -e environment.x64 -- "C:\Program Files >>>>>>> (x86)\Microsoft Visual >>>>>>> Studio\2019\Enterprise\VC\Tools\MSVC\14.22.27905\... >>>>>>> >>>>>>> I see some of the V8 tryjobs build with MSVC (e.g. >>>>>>> https://ci.chromium.org/p/v8/builders/try/v8_win64_msvc_compile_rel) >>>>>>> and seem to be working, so if someone has the magic args.gn needed, >>>>>>> I'd appreciate it. >>>>>>> >>>>>>> Thanks, >>>>>>> >>>>>>> - Bill >>>>>>> >>>>>> -- >>>>>> -- >>>>>> v8-dev mailing list >>>>>> [email protected] >>>>>> http://groups.google.com/group/v8-dev >>>>>> --- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "v8-dev" group. >>>>>> To unsubscribe from this group and stop receiving emails from it, >>>>>> send an email to [email protected]. >>>>>> To view this discussion on the web visit >>>>>> https://groups.google.com/d/msgid/v8-dev/61cdf5a4-a276-4fcb-9bd7-ed37f1c40d49%40googlegroups.com >>>>>> >>>>>> <https://groups.google.com/d/msgid/v8-dev/61cdf5a4-a276-4fcb-9bd7-ed37f1c40d49%40googlegroups.com?utm_medium=email&utm_source=footer> >>>>>> . >>>>>> >>>>> -- >>>>> -- >>>>> v8-dev mailing list >>>>> [email protected] >>>>> http://groups.google.com/group/v8-dev >>>>> --- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "v8-dev" group. >>>>> To unsubscribe from this group and stop receiving emails from it, send >>>>> an email to [email protected]. >>>>> To view this discussion on the web visit >>>>> https://groups.google.com/d/msgid/v8-dev/CAKSzg3Q1cq4Vwzs3mS-bFjTHHKFbwSWzhhGwjqANA2V56E%3DvdQ%40mail.gmail.com >>>>> >>>>> <https://groups.google.com/d/msgid/v8-dev/CAKSzg3Q1cq4Vwzs3mS-bFjTHHKFbwSWzhhGwjqANA2V56E%3DvdQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >>>>> . >>>>> >>>> >>>> >>>> -- >>>> >>>> Clemens Hammacher >>>> >>>> Software Engineer >>>> >>>> [email protected] >>>> >>>> >>>> Google Germany GmbH >>>> >>>> Erika-Mann-Straße 33 >>>> >>>> 80636 München >>>> >>>> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado >>>> >>>> Registergericht und -nummer: Hamburg, HRB 86891 >>>> >>>> Sitz der Gesellschaft: Hamburg >>>> >>>> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise >>>> erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes >>>> weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich >>>> bitte >>>> wissen, dass die E-Mail an die falsche Person gesendet wurde. >>>> >>>> >>>> >>>> This e-mail is confidential. If you received this communication by >>>> mistake, please don't forward it to anyone else, please erase all copies >>>> and attachments, and please let me know that it has gone to the wrong >>>> person. >>>> >>> -- >>> -- >>> v8-dev mailing list >>> [email protected] >>> http://groups.google.com/group/v8-dev >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/v8-dev/04cceab7-c95c-4846-bfab-33ce84857ba0%40googlegroups.com >>> >>> <https://groups.google.com/d/msgid/v8-dev/04cceab7-c95c-4846-bfab-33ce84857ba0%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> >> >> -- >> >> Clemens Backes >> >> Software Engineer >> >> [email protected] >> >> >> Google Germany GmbH >> >> Erika-Mann-Straße 33 >> >> 80636 München >> >> Geschäftsführer: Paul Manicle, Halimah DeLaine Prado >> >> Registergericht und -nummer: Hamburg, HRB 86891 >> >> Sitz der Gesellschaft: Hamburg >> >> Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten >> haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, >> löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, >> dass die E-Mail an die falsche Person gesendet wurde. >> >> >> This e-mail is confidential. If you received this communication by >> mistake, please don't forward it to anyone else, please erase all copies >> and attachments, and please let me know that it has gone to the wrong >> person. >> >> -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-dev/7918eb46-8043-46f0-ab00-2b2bd8a26ba1%40googlegroups.com.
