1<?xml version="1.0" encoding="utf-8"?> 2<!-- Copyright (C) 2018 and later: Unicode, Inc. and others. License & terms of use: http://www.unicode.org/copyright.html --> 3<Project DefaultTargets="Build" ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 4 <!-- This file is used to set compiler Warning configurations that are common to *all* ICU library code (common, i18n, and io). --> 5 <!-- Note: These options are for *all* configurations for *all* library projects. --> 6 <ItemDefinitionGroup> 7 <ClCompile> 8 <WarningLevel>Level3</WarningLevel> 9 <!-- 10 We treat the following Warnings as Errors in the ICU library code, in order to catch/prevent 11 issues like ICU-20209, ICU-20157, ICU-13816 and others. 12 13 C4251 Need to DLL-Export template instantiations. 14 C4661 No suitable definition provided for explicit template instantiation request. 15 C4715 Not all control paths return a value. 16 C4706 Assignment within conditional expression. 17 C4005 Macro redifintion. 18 C4068 Unknown pragma. 19 C4267 Conversion from size_t to type, possible loss of data. 20 C4910 __declspec(dllexport) and extern are incompatible on an explicit instantiation. 21 C4003 Not enough parameters for macro. 22 --> 23 <TreatSpecificWarningsAsErrors>4251;4661;4715;4706;4005;4068;4267;4910;4003;%(TreatSpecificWarningsAsErrors)</TreatSpecificWarningsAsErrors> 24 </ClCompile> 25 </ItemDefinitionGroup> 26</Project> 27