Je pense que cela dépend des compilateurs C++ que vous prenez en charge pour Windows. Si vous ciblez exclusivement les utilisateurs de Visual Studio, il vous suffit de fournir les fichiers de projet nécessaires car vos utilisateurs peuvent les ouvrir dans l'EDI ou utiliser devenv.exe/msbuild.exe pour créer votre projet via la ligne de commande. Dans ce cas, ma suggestion serait de fournir les fichiers du projet pour la version la plus ancienne de Visual Studio que vous prenez en charge, car les plus récents seront en mesure de convertir les fichiers au format dont ils ont besoin.
Cela devient un peu plus compliqué si vous essayez de prendre en charge d'autres compilateurs C++ pour Windows. Soit vous devrez fournir des fichiers de projet pour tous leurs IDE, ce qui peut être compliqué si vous n'avez pas accès à tous, ou vous devrez choisir le plus petit dénominateur commun, ce qui serait le Makefile le plus simple possible et j'espère que la plupart des programmeurs auront installé, ce qui n'est pas une hypothèse déraisonnable. Si votre logiciel nécessite les bibliothèques Boost, une autre approche consisterait à fournir un ensemble de fichiers .jam, car la plupart des programmeurs qui ont Boost ont probablement un bjam flottant depuis le moment où ils ont construit Boost. Bien que bjam ne soit pas aussi simple que make, il a l'avantage majeur de savoir comment gérer plusieurs compilateurs. Mais je ne considérerais bjam que si le logiciel distribué nécessitait Boost, sinon c'est une autre dépendance non désirée.
Une question connexe: http://stackoverflow.com/questions/476163/nant-or-msbuild-which-one-to-choose-and-when –