Wumpf / IncludeToolbox

Visual Studio extension to format, prune, and inspect include directives.
https://marketplace.visualstudio.com/items?itemName=Wumpf.IncludeToolbox
MIT License
51 stars 22 forks source link

pls include a new tool to help me with my project. #75

Closed AraHaan closed 4 years ago

AraHaan commented 4 years ago

Currently it takes me hours to try to filter out all of my includes to try to find the source of this sneaky crap that goes on in all of my projects in my solution for some unknown reason.

First I try to filter out any stlib include / winsdk winclude file from the header to stdafx.h (I think that should be a tool tbh)

Next I would like a tool that auto sorts these headers in a trial and error way until the configured errors I want it to check for from the specific header I set on disappears (in case compile in the trial and error method fails die to a missing lib file to link to, a different include not in path or additional include paths, etc).

This type of tools would greatly not only help me, but also help others as well.

9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(12,1): warning C4005: 'DXGI_STATUS_OCCLUDED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55840): message : see previous definition of 'DXGI_STATUS_OCCLUDED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(13,1): warning C4005: 'DXGI_STATUS_CLIPPED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55849): message : see previous definition of 'DXGI_STATUS_CLIPPED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(14,1): warning C4005: 'DXGI_STATUS_NO_REDIRECTION': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55858): message : see previous definition of 'DXGI_STATUS_NO_REDIRECTION'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(15,1): warning C4005: 'DXGI_STATUS_NO_DESKTOP_ACCESS': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55867): message : see previous definition of 'DXGI_STATUS_NO_DESKTOP_ACCESS'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(16,1): warning C4005: 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55876): message : see previous definition of 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(17,1): warning C4005: 'DXGI_STATUS_MODE_CHANGED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55885): message : see previous definition of 'DXGI_STATUS_MODE_CHANGED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(18,1): warning C4005: 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55894): message : see previous definition of 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(21,1): warning C4005: 'DXGI_ERROR_INVALID_CALL': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55909): message : see previous definition of 'DXGI_ERROR_INVALID_CALL'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(22,1): warning C4005: 'DXGI_ERROR_NOT_FOUND': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55918): message : see previous definition of 'DXGI_ERROR_NOT_FOUND'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(23,1): warning C4005: 'DXGI_ERROR_MORE_DATA': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55927): message : see previous definition of 'DXGI_ERROR_MORE_DATA'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(24,1): warning C4005: 'DXGI_ERROR_UNSUPPORTED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55936): message : see previous definition of 'DXGI_ERROR_UNSUPPORTED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(25,1): warning C4005: 'DXGI_ERROR_DEVICE_REMOVED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55945): message : see previous definition of 'DXGI_ERROR_DEVICE_REMOVED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(26,1): warning C4005: 'DXGI_ERROR_DEVICE_HUNG': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55954): message : see previous definition of 'DXGI_ERROR_DEVICE_HUNG'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(27,1): warning C4005: 'DXGI_ERROR_DEVICE_RESET': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55964): message : see previous definition of 'DXGI_ERROR_DEVICE_RESET'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(28,1): warning C4005: 'DXGI_ERROR_WAS_STILL_DRAWING': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55973): message : see previous definition of 'DXGI_ERROR_WAS_STILL_DRAWING'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(29,1): warning C4005: 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55983): message : see previous definition of 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(30,1): warning C4005: 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(55992): message : see previous definition of 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(31,1): warning C4005: 'DXGI_ERROR_DRIVER_INTERNAL_ERROR': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56002): message : see previous definition of 'DXGI_ERROR_DRIVER_INTERNAL_ERROR'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(32,1): warning C4005: 'DXGI_ERROR_NONEXCLUSIVE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56011): message : see previous definition of 'DXGI_ERROR_NONEXCLUSIVE'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(33,1): warning C4005: 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56020): message : see previous definition of 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(34,1): warning C4005: 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56030): message : see previous definition of 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED'
9>C:\Program Files (x86)\DXSDK\Include\dxgitype.h(35,1): warning C4005: 'DXGI_ERROR_REMOTE_OUTOFMEMORY': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56039): message : see previous definition of 'DXGI_ERROR_REMOTE_OUTOFMEMORY'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(59,1): warning C4005: 'D2DERR_WRONG_STATE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56368): message : see previous definition of 'D2DERR_WRONG_STATE'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(64,1): warning C4005: 'D2DERR_NOT_INITIALIZED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56377): message : see previous definition of 'D2DERR_NOT_INITIALIZED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(69,1): warning C4005: 'D2DERR_UNSUPPORTED_OPERATION': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56386): message : see previous definition of 'D2DERR_UNSUPPORTED_OPERATION'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(74,1): warning C4005: 'D2DERR_SCANNER_FAILED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56395): message : see previous definition of 'D2DERR_SCANNER_FAILED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(79,1): warning C4005: 'D2DERR_SCREEN_ACCESS_DENIED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56404): message : see previous definition of 'D2DERR_SCREEN_ACCESS_DENIED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(84,1): warning C4005: 'D2DERR_DISPLAY_STATE_INVALID': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56413): message : see previous definition of 'D2DERR_DISPLAY_STATE_INVALID'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(89,1): warning C4005: 'D2DERR_ZERO_VECTOR': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56422): message : see previous definition of 'D2DERR_ZERO_VECTOR'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(97,1): warning C4005: 'D2DERR_INTERNAL_ERROR': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56431): message : see previous definition of 'D2DERR_INTERNAL_ERROR'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(103,1): warning C4005: 'D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56440): message : see previous definition of 'D2DERR_DISPLAY_FORMAT_NOT_SUPPORTED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(108,1): warning C4005: 'D2DERR_INVALID_CALL': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56449): message : see previous definition of 'D2DERR_INVALID_CALL'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(113,1): warning C4005: 'D2DERR_NO_HARDWARE_DEVICE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56458): message : see previous definition of 'D2DERR_NO_HARDWARE_DEVICE'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(119,1): warning C4005: 'D2DERR_RECREATE_TARGET': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56467): message : see previous definition of 'D2DERR_RECREATE_TARGET'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(124,1): warning C4005: 'D2DERR_TOO_MANY_SHADER_ELEMENTS': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56476): message : see previous definition of 'D2DERR_TOO_MANY_SHADER_ELEMENTS'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(129,1): warning C4005: 'D2DERR_SHADER_COMPILE_FAILED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56485): message : see previous definition of 'D2DERR_SHADER_COMPILE_FAILED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(134,1): warning C4005: 'D2DERR_MAX_TEXTURE_SIZE_EXCEEDED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56494): message : see previous definition of 'D2DERR_MAX_TEXTURE_SIZE_EXCEEDED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(139,1): warning C4005: 'D2DERR_UNSUPPORTED_VERSION': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56503): message : see previous definition of 'D2DERR_UNSUPPORTED_VERSION'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(144,1): warning C4005: 'D2DERR_BAD_NUMBER': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56512): message : see previous definition of 'D2DERR_BAD_NUMBER'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(149,1): warning C4005: 'D2DERR_WRONG_FACTORY': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56521): message : see previous definition of 'D2DERR_WRONG_FACTORY'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(154,1): warning C4005: 'D2DERR_LAYER_ALREADY_IN_USE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56530): message : see previous definition of 'D2DERR_LAYER_ALREADY_IN_USE'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(159,1): warning C4005: 'D2DERR_POP_CALL_DID_NOT_MATCH_PUSH': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56539): message : see previous definition of 'D2DERR_POP_CALL_DID_NOT_MATCH_PUSH'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(164,1): warning C4005: 'D2DERR_WRONG_RESOURCE_DOMAIN': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56548): message : see previous definition of 'D2DERR_WRONG_RESOURCE_DOMAIN'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(169,1): warning C4005: 'D2DERR_PUSH_POP_UNBALANCED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56557): message : see previous definition of 'D2DERR_PUSH_POP_UNBALANCED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(174,1): warning C4005: 'D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56566): message : see previous definition of 'D2DERR_RENDER_TARGET_HAS_LAYER_OR_CLIPRECT'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(179,1): warning C4005: 'D2DERR_INCOMPATIBLE_BRUSH_TYPES': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56575): message : see previous definition of 'D2DERR_INCOMPATIBLE_BRUSH_TYPES'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(184,1): warning C4005: 'D2DERR_WIN32_ERROR': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56584): message : see previous definition of 'D2DERR_WIN32_ERROR'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(189,1): warning C4005: 'D2DERR_TARGET_NOT_GDI_COMPATIBLE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56593): message : see previous definition of 'D2DERR_TARGET_NOT_GDI_COMPATIBLE'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(194,1): warning C4005: 'D2DERR_TEXT_EFFECT_IS_WRONG_TYPE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56602): message : see previous definition of 'D2DERR_TEXT_EFFECT_IS_WRONG_TYPE'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(201,1): warning C4005: 'D2DERR_TEXT_RENDERER_NOT_RELEASED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56611): message : see previous definition of 'D2DERR_TEXT_RENDERER_NOT_RELEASED'
9>C:\Program Files (x86)\DXSDK\Include\D2DErr.h(206,1): warning C4005: 'D2DERR_EXCEEDS_MAX_BITMAP_SIZE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56620): message : see previous definition of 'D2DERR_EXCEEDS_MAX_BITMAP_SIZE'
9>C:\Program Files (x86)\DXSDK\Include\d3d10.h(608,1): warning C4005: 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56279): message : see previous definition of 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS'
9>C:\Program Files (x86)\DXSDK\Include\d3d10.h(609,1): warning C4005: 'D3D10_ERROR_FILE_NOT_FOUND': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56288): message : see previous definition of 'D3D10_ERROR_FILE_NOT_FOUND'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4962,1): warning C4005: 'DWRITE_E_FILEFORMAT': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56787): message : see previous definition of 'DWRITE_E_FILEFORMAT'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4967,1): warning C4005: 'DWRITE_E_UNEXPECTED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56796): message : see previous definition of 'DWRITE_E_UNEXPECTED'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4972,1): warning C4005: 'DWRITE_E_NOFONT': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56805): message : see previous definition of 'DWRITE_E_NOFONT'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4978,1): warning C4005: 'DWRITE_E_FILENOTFOUND': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56814): message : see previous definition of 'DWRITE_E_FILENOTFOUND'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4983,1): warning C4005: 'DWRITE_E_FILEACCESS': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56823): message : see previous definition of 'DWRITE_E_FILEACCESS'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4988,1): warning C4005: 'DWRITE_E_FONTCOLLECTIONOBSOLETE': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56832): message : see previous definition of 'DWRITE_E_FONTCOLLECTIONOBSOLETE'
9>C:\Program Files (x86)\DXSDK\Include\dwrite.h(4993,1): warning C4005: 'DWRITE_E_ALREADYREGISTERED': macro redefinition
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\shared\winerror.h(56841): message : see previous definition of 'DWRITE_E_ALREADYREGISTERED'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8173,63): error C2061: syntax error: identifier 'DXGI_JPEG_AC_HUFFMAN_TABLE'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8178,63): error C2061: syntax error: identifier 'DXGI_JPEG_DC_HUFFMAN_TABLE'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8183,65): error C2061: syntax error: identifier 'DXGI_JPEG_QUANTIZATION_TABLE'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8362,63): error C2061: syntax error: identifier 'DXGI_JPEG_AC_HUFFMAN_TABLE'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8367,63): error C2061: syntax error: identifier 'DXGI_JPEG_DC_HUFFMAN_TABLE'
9>C:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\um\wincodec.h(8372,65): error C2061: syntax error: identifier 'DXGI_JPEG_QUANTIZATION_TABLE'

Errors like this to me is like oof.

Wumpf commented 4 years ago

I'm no longer actively working on this plugin. But as I understand your request you want to find out what includes wincodec.h, causing compile errors in your project. For that you can already use the include graph, although you might particularly profit from a search function, see #45

AraHaan commented 4 years ago

oh wow afxrendertarget.h (included by afxwin.h, which is included by many files in my project rip) seems to include it at line 26 for some reason.