J'ai essayé de compiler un programme avec minw32, sur win7. Chaque fois que j'essaie de compiler ceci, j'obtiens une erreur à propos de sal.h manquant. J'ai téléchargé Visual Studio C++ 2010 (Express) et j'ai obtenu le Microsoft Win7 SDK. Même après tout cela, je n'ai toujours pas trouvé ce fichier d'en-tête. Y a-t-il un endroit où je pourrais le télécharger?Comment puis-je obtenir sal.h
Répondre
Il est situé dans
"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include" (VS 2008)
ou
"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include" (VS 2010)
ou
"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" (VS 2012)
bien sûr, vous pouvez adapter à vos chemins de configuration locaux.
Comme la réponse précédente l'indique, SAL est une chose Visual Studio. À mon humble avis, c'est une excellente technologie qui aide le compilateur à comprendre le code afin qu'il puisse émettre des avertissements lorsque vous faites quelque chose de mal. Malheureusement, Microsoft seems to own a patent on it so other compilers can't implement it ☹. Même si vous prenez une copie de sal.h
à partir de votre installation VS, je doute sincèrement qu'elle fonctionnera avec mingw car elle traduira les macros en attributs que gcc/mingw ne comprend pas.
J'ai mis en place un petit projet appelé Salieri il y a un moment, qui est essentiellement une version portable de l'en-tête SAL qui définit simplement les macros SAL. Vous n'obtiendrez aucun des avantages du code annoté SAL, mais cela devrait vous aider à obtenir du code qui utilise SAL pour compiler sur d'autres compilateurs.
Désolé de promouvoir mon propre projet ici, mais je pense que cela pourrait être utile pour beaucoup de gens à travers cet article.
Qu'est-ce qu'une inclusion dans l'aide du chemin d'installation VS lorsque l'on essaie de compiler avec MinGW? – Elmi
@elmi - Parce que SAL Annotations (http://msdn.microsoft.com/en-us/library/ms235402.aspx) fait partie de Microsoft Visual C++ qui est fourni avec Microsoft Visual Studio, ne fait pas partie du SDK Windows ni d'autres Microsoft SDK fourni, que vous le vouliez ou non. –
Hm, donc la réponse serait, il n'est pas possible de compiler quelque chose sur le WinSDK avec MingW (y compris DirectX-thingies) !? – Elmi