> I get hundreds or thousands of warnings of the sort:
>
> \antlr4-cpp-runtime-vs2015\antlr4-runtime\atn\arraypredictioncontext.h(23): warning C4251: 'antlr4::atn::ArrayPredictionContext::parents': class 'std::vector<std::shared_ptr<antlr4::atn::PredictionContext>,std::allocator<_Kty>>' needs to have dll-interface to be used by clients of class 'antlr4::atn::ArrayPredictionContext'
You shouldn't get those warnings, since C4251 is suppressed in the antlr4-runtime.h header (which is the only header you should include). This warning is about the well known problem that you shouldn't export templated classes or functions unless both the DLL as well as the DLL user have been built against the same C++ runtime. This is why there are prebuilt libraries for VS 2013 and VS2015 and not just one set.
Mike
--
www.soft-gems.net