2010-12-13 5 views
7

He estado intentando compilar un programa con minw32, en win7. Cada vez que trato de compilar esto, me sale un error sobre la falta de sal.h Descargué Visual Studio C++ 2010 (Express) y obtuve el SDK de Microsoft Win7. Incluso después de todo esto, todavía no he encontrado ese archivo de encabezado. ¿Hay algún lugar desde el que pueda descargarlo?Cómo obtengo sal.h

Respuesta

9

Se encuentra ubicado en

"C:\Program Files (x86)\Microsoft Visual Studio 9.0\VC\include" (VS 2008) 

o

"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\include" (VS 2010) 

o

"C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\include" (VS 2012) 

por supuesto, es posible que desee para adaptarse a sus trayectorias de configuración locales.

+0

¿Qué significa incluir en la ruta de instalación de VS la ayuda cuando se intenta compilar con MinGW? – Elmi

+0

@elmi - Porque las anotaciones SAL (http://msdn.microsoft.com/en-us/library/ms235402.aspx) es parte de Microsoft Visual C++ que se envía con Microsoft Visual Studio, no forma parte del SDK de Windows ni de ningún otro Microsoft SDK provisto, te guste o no. –

+0

Hm, por lo que la respuesta sería, no es posible compilar algo de WinSDK con MingW (incluidos los elementos de DirectX)? – Elmi

1

Como dice la respuesta anterior, SAL es una cosa de Visual Studio. En mi humilde opinión, es una gran tecnología que ayuda al compilador a comprender el código para que pueda emitir advertencias cuando haces algo mal. Lamentablemente, Microsoft seems to own a patent on it so other compilers can't implement it ☹. Incluso si toma una copia de sal.h de su instalación VS, sinceramente dudo que funcione con mingw ya que traducirá las macros en atributos que gcc/mingw no comprende.

Hace un tiempo armé un pequeño proyecto llamado Salieri que es básicamente una versión portátil del encabezado de SAL que simplemente define las macros de SAL. No obtendrás ninguno de los beneficios del código anotado SAL, pero debería ayudarte a obtener código que use SAL para compilar en otros compiladores.

Perdón por promocionar mi propio proyecto aquí, pero creo que podría ser útil para mucha gente que se encuentra con esta publicación.

Cuestiones relacionadas