L'on a accepté la réponse m'a aidé sur le chemin de droite pour trouver comment résoudre ce problème pour le fond du projet, j'ai dû commencer à travailler. Cependant, j'ai eu à traiter un très grand nombre de mauvais inclure les en-têtes. Avec le verbose debug de sortie, la suppression de l'une a causé l'IDE de les congeler pendant 30 secondes lors de la sortie de débogage de vomir, ce qui a rendu le processus aller très lentement.
Je suis impatient et a écrit un rapide et sale script python pour vérifier l' (VS 2010) des fichiers de projet pour moi et la production de tous les fichiers manquants à la fois, avec les filtres, ils sont situés dans. Vous pouvez trouver un Résumé ici: https://gist.github.com/antiuniverse/3825678
Exemple:
D:\...> check_inc.py sdk/src/game/client/swarm_sdk_client.vcxproj
[Header Files]:
fx_cs_blood.h (cstrike\fx_cs_blood.h)
hud_radar.h (cstrike\hud_radar.h)
[Game Shared Header Files]:
basecsgrenade_projectile.h (..\shared\cstrike\basecsgrenade_projectile.h)
fx_cs_shared.h (..\shared\cstrike\fx_cs_shared.h)
weapon_flashbang.h (..\shared\cstrike\weapon_flashbang.h)
weapon_hegrenade.h (..\shared\cstrike\weapon_hegrenade.h)
weapon_ifmsteadycam.h (..\shared\weapon_ifmsteadycam.h)
[Source Files\Swarm\GameUI - Embedded\Base GameUI\Headers]:
basepaenl.h (swarm\gameui\basepaenl.h)
...
Code Source:
#!/c/Python32/python.exe
import sys
import os.path
import xml.etree.ElementTree as ET
ns = '{http://schemas.microsoft.com/developer/msbuild/2003}'
filterTree = ET.parse(sys.argv[1]+".filters")
filterRoot = filterTree.getroot()
filterDict = dict()
missingDict = dict()
for inc in filterRoot.iter(ns+'ClInclude'):
incFileRel = inc.get('Include')
incFilter = inc.find(ns+'Filter')
if incFileRel != None and incFilter != None:
filterDict[incFileRel] = incFilter.text
if incFilter.text not in missingDict:
missingDict[incFilter.text] = []
projTree = ET.parse(sys.argv[1])
projRoot = projTree.getroot()
for inc in projRoot.iter(ns+'ClInclude'):
incFileRel = inc.get('Include')
if incFileRel != None:
incFile = os.path.join( os.path.dirname(sys.argv[1]), incFileRel )
if not os.path.exists(incFile):
missingDict[filterDict[incFileRel]].append(incFileRel)
for (missingGroup, missingList) in missingDict.items():
if len(missingList) > 0:
print("["+missingGroup+"]:")
for missing in missingList:
print(" " + os.path.basename(missing) + " (" + missing + ")")