I've got a third-party library that generates a ton of warnings, even under /W3. Is there a way for me to tell the compiler, "disable C4244 for any file included from this directory, or its subdirectories"? Of course, I don't want to disable the warning in our own codebase, nor do I want to have to track down every possible include and wrap it with #pragma warning(...
相关问题
- Sorting 3 numbers without branching [closed]
- How to compile C++ code in GDB?
- Why does const allow implicit conversion of refere
- How to know full paths to DLL's from .csproj f
- Importing NuGet references through a local project
相关文章
- How to show location of errors, references to memb
- Class layout in C++: Why are members sometimes ord
- How to mock methods return object with deleted cop
- How to add external file to application files ( cl
- Which is the best way to multiply a large and spar
- How to track MongoDB requests from a console appli
- C++ default constructor does not initialize pointe
- Selecting only the first few characters in a strin
You can put flags e.g
/wd4600
inVS Project Settings > Command-line Options
to tell the complier to suppress specific Complier WarningsI'm not sure whether you meant you do not want to wrap your include statements with
#pragma
directives or did not want to spend time tracking down the right directive. If its the latter, then this is what I've done in the past:You could try removing the 3rd party project from your include path. Then create a sub-dir that has the same dir structure and header files as the 3rd party project, so that all of the #includes now find your headers instead. Then in each fake header xxxx.h you set the pragma's then include the real xxxx.h header, then clear the pragma. To avoid recursively including the same file you would have to add an extra dir to the #include.
Personally, I'd just go through your project and add the pragma's.
I hate to answer my own question here, but I'm afraid that the "correct" answer in this case is: it's not possible.
Try:
Then in your code, just
#include "wrapper_3rdParty.h"
instead.That handles the issues with
default
behavior on the warning, and all insteances of your use of htat package have the warning suppressed.