Mixing MODULES_EXPORT and CORE_EXPORT in the same compilation unit for the same base class fails in Windows |
|||
Issue description
If a compilation unit has a class A:
MODULES_EXPORT class A : public Base<int> {};
and a class B through a header:
CORE_EXPORT class B : public Base<int> {};
there will be link errors in Windows because there will be strongly defined symbols for Base<int> that will collide with the exported symbols in blinkcore.dll.
I don't know if this is a compiler bug in Visual Studio or something else, but it triggers if jumbo compiling modules/webaudio because the class WindowAudioWorklet inherits from Supplement<LocalDOMWindow> in the way described above.
,
Jul 7 2017
I haven't seen that one fail to compile, but maybe it's very new? Otherwise it may be ok if no "jumbo-friend" cpp file includes any Source/core header with CORE_EXPORT on a Supplement<LocalDOMWindow> based class.
,
Mar 2 2018
,
Mar 5 2018
|
|||
►
Sign in to add a comment |
|||
Comment 1 by hongchan@chromium.org
, Jul 7 2017