2011-09-07 14 views
22

Recibo el siguiente error con un archivo de Windows al compilar winbase.h.Error de compilación en 'winbase.h'

No sé por qué me sale un error de sintaxis y el compilador muestra muchos más:

1> c:\program files\microsoft sdks\windows\v6.0a\include\winbase.h(238) : 
    error C2146: syntax error : missing ';' before identifier 'Internal' 

Aquí un simple código para reproducir el problema:

#include <winbase.h> 

int main() 
{ 
    return 0; 
} 
+6

Parece que te falta un punto y coma. – Falmarri

+3

¿Puede por favor publicar parte del código? Con solo este error, es difícil saber qué está mal. – templatetypedef

+3

Probablemente te falte un punto y coma justo antes de que (in) directamente incluido "winbase.h". – Mysticial

Respuesta

47

¿Estás incluyendo <winbase.h> directamente?

No debería - espera tener algunas cosas definidas/declaradas antes de ser procesadas. Específicamente, en este caso, el identificador ULONG_PTR que se declara como typedef en intsafe.h.

Incluir <windows.h>.

3

Usted probablemente se echa en falta un ; inmediata antes la línea #include <windows.h> en su código. Alternativamente, hay algún texto tipo identificador que precede a la línea de archivo de inclusión.

int ABC 
#include <windows.h> 
1

Si su código es correcto, y no faltan puntos y comas antes de #include "winbase.h", entonces debería ser una inclusión faltante antes de winbase.h (o uno de los archivos que lo incluye).

Cuestiones relacionadas