You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
rapidjson::Writer<rapidjson::StringBuffer> is exported from
the core library (implicitly rather than explicitly, because
CRapidJsonConcurrentLineWriter inherits from it and is exported).
To avoid violating the one-definition rule, other libraries
that link to the core library (i.e. all of them) and use
rapidjson::Writer<rapidjson::StringBuffer> must import the
instantiation in the core library rather than reinstantiating
the template themselves.
This change is basically working around item 2 in
http://developercommunity.visualstudio.com/solutions/228892/view.html
It's only strictly necessary to do this at the moment when
building with debug as in an optimised build the clashing methods
get inlined, so don't generate clashing symbols. However, future
code changes could cause the compiler to inline different methods,
so it's best to always import the instantiation exported from the
core library.
0 commit comments