Warning as error - How to get rid of these
I cannot figure out how to get rid of errors that basically should not be halting my compile in Visual Studio 2010 and should not be show stoppers, or at least I will fix them later, but I don't want the compile to just error and halt on these kinds of problems.
For example, I'm getting the following error:
Error 1 Warning as Error: XML comment on 'ScrewTurn.Wiki.SearchEngine.Relevance.Finalize(float)' has a paramref tag for 'IsFinalized', but there is no parameter by that name C:\www\Wiki\Screwturn3_0_2_509\SearchEngine\Relevance.cs 60 70 SearchEngine
for this code:
/// <summary>
/// Normalizes the relevance after finalization.
/// </summary>
/// <param name="factor">The normalization factor.</param>
/// <exception cref="InvalidOperationException">If <paramref name="IsFinalized"/> is <c>false</c> (<see cref="M:Finalize"/> was not called).</exception>
public void NormalizeAfterFinalization(float factor) {
if (factor < 0)
throw new ArgumentOutOfRangeException("factor", "Factor must be greater than or equal to zero");
if (!isFinalized)
throw new InvalidOperationException("Normalization can be performed only after finalization");
value = value * factor;
}
I looked in menu Tools -> Options, and I don't see where I can tweak the compiler and tell it not to worry about comment or XHTML based errors.
Solution 1:
Each project in Visual Studio has a "treat warnings as errors" option. Go through each of your projects and change that setting:
- Right-click on your project, select "Properties".
- Click "Build".
- Switch "Treat warnings as errors" from "All" to "Specific warnings" or "None".
The location of this switch varies, depending on the type of project (class library vs. web application, for example).
Solution 2:
For Visual Studio Express 2013 to get rid of these problem you have to do the following.
Right click on your project click Properties. In properties window from left menus select Configuration Properties->C/C++->General
In right side select
Treat Warning As Errors NO
and
SDL Checks NO
Solution 3:
The top answer is outdated for Visual Studio 2015
.
English:
Configuration Properties -> C/C++ -> General -> Treat Warning As Errors
German:
Konfigurationseigenschaften -> C/C++ -> Allgemein -> Warnungen als Fehler behandeln
Or use this image as reference, way easier to quickly mentally figure out the location:
Solution 4:
You can control the behavior in a headerfile or C-file:
#pragma warning(error:4003) //not enough actual parameters for macro
yet tested with Visual studio 2015. I have a common headerfile 'compl_adaption.h' for such things, included in all files, to set this behavior for all my projects compiled on visual studio.
Solution 5:
Just for people using VS2019, I think other answers are also pointing out same location.