J'ai toujours utilisé Visual Studios construit en support de l'IHM graphique pour la configuration de mes projets, souvent à l'aide de feuilles de propriétés, de sorte que plusieurs projets d'utilisation d'un ensemble commun.
L'un de mes principaux problèmes avec c'est la gestion de plusieurs projets, les configurations et les plates-formes. Si vous venez de tout faire avec l'interface graphique principale (clic droit sur le projet -> propriétés), il devient rapidement un gâchis, difficile à maintenir et sujettes à des bugs (comme le défaut de correctement définir une macro, ou l'utilisation de la mauvaise exécution de la bibliothèque, etc). Traiter avec le fait que des personnes différentes y mettre les bibliothèques de dépendances à des endroits différents (par exemple le mien vivons tous "C:\Libs\[C,C++]\[lib-nom]\") et puis souvent de gérer les différentes versions de ces bibliothèques différemment (libération, le débogage, le x86, x64, etc) est également un gros problème car elle complique considérablement le temps de le mettre en place sur un nouveau système, et puis il y a des problèmes avec le contrôle de version et de garder tout le monde de chemins séparés...
Les feuilles de propriétés font un peu mieux, mais je ne peux pas avoir une feuille d'avoir des paramètres distincts pour les différentes configurations et les plates-formes (les menus déroulants, un grisé), résultant en moi avoir beaucoup de feuilles qui, si elle a hérité dans le bon ordre, faire ce que je veux ("x86", "x 64", "debug", "libération", "commun", "répertoires" (traite de l'été mentionné précédemment problème de dépendance par la définition de l'utilisateur macros comme BoostX86LibDir), etc) et si hérité dans le mauvais ordre (par exemple, "commune" avant "x64" et "debug") conduisent à des questions comme essayer de lier une mauvaise version de bibliothèque, ou mal de nommage de la sortie...
Ce que je veux, c'est un moyen de traiter avec toutes ces éparpillés dépendances et de la définition d'un ensemble de "règles", qui sont utilisés par tous mes projets dans la solution, comme les noms de la sortie de la bibliothèque comme "mylib-[vc90,vc100]-[x86,x64][-d].lib", sans avoir à faire tous ce que pour chaque projet, la configuration et la plate-forme, puis de les garder tous correctement synchronisés.
Je suis conscient de déplacement tout à fait différents systèmes comme CMake que de créer les fichiers nécessaires, cependant, ensuite, cela complique les choses d'ailleurs, en la rendant alors même que des tâches simples comme l'ajout d'un nouveau fichier au projet nécessite des modifications supplémentaires ailleurs, ce qui n'est pas quelque chose que je suis tout à fait heureux avec soit, à moins qu'il y est certains avec VS2010 intégration qui peut garder une trace de ces sortes de modifications.