none
Errores de compilacion al agregar una libreria "winapifamily.h" RRS feed

  • Pregunta

  • Hola!

    Tengo un proyecto en VS C++ y cuando agrego una libreria llamada "winapifamily.h" al proyecto me aparecen un monton de errores de compilacion, errores de sintaxis de cosas que ya estan definidas y ya funcionan, no see, es como si al agregar la libreria se descompusiera algo en el proyecto, creo que esta libreria tiene que ver con el SDK de WIndows.

    Alguien sabe algo que me pueda ayudar? Gracias

    miércoles, 31 de julio de 2013 22:56

Todas las respuestas

  • Deberías ponernos algunos de los primeros errores que te da. Evidentemente no somos magos para saber qué errores son.

    Ese fichero cabecera se corresponde al SDK de Windows 8 y creo que no deberías usarlo directamente y de ahí los posibles errores.


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    jueves, 1 de agosto de 2013 15:05
    Moderador
  • Error 1 error C2065: 'SAL_sameIRQL' : undeclared identifier
    Error 2 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int1246
    Error 3 error C2513: 'int' : no variable declared before '='
    Error 4 error C2146: syntax error : missing ';' before identifier 'EXCEPTION_DISPOSITION'
    Error 5 error C2143: syntax error : missing ';' before '__stdcall'
    Error 6 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1246
    Error 7 error C2377: 'EXCEPTION_DISPOSITION' : redefinition; typedef cannot be overloaded with any other symbol \winnt.h 1246
    Error 8 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1252
    Error 9 error C2143: syntax error : missing ';' before '*'
    Error 10 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1254
    Error 11 error C2365: 'EXCEPTION_ROUTINE' : redefinition; previous definition was 'function'
    Error 12 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 1254
    Error 13 error C2146: syntax error : missing ';' before identifier 'Handler' c:\intel_moreno\driverintel\mainline\tools\build\wdk\9200\include\um\winnt.h 10749
    Error 14 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 10749
    Error 15 error C4430: missing type specifier - int assumed. Note: C++ does not support default-int 10749
    Error 16 error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
    Error 17 error C2144: syntax error : 'PSLIST_ENTRY' should be preceded by ','
    Error 18 error C2061: syntax error : identifier '_SA_annotes1'
    Error 19 error C2059: syntax error : ')' c:\intel_moreno\driverintel\mainline\tools\build\wdk\9200\include\um\heapapi.h 125
    Error 20 error C2143: syntax error : missing ')' before ';'

    Esos son algunos de los errores marcados.

    jueves, 1 de agosto de 2013 15:38
  • Hola, Vïctor.

    Todos esos errores no se deben a símbolos repetidos, si no a símbolos faltantes.

    Es decir, te falta incluir más ficheros cabeceras de otras librerías. Por ejemplo, el 1, 2 y 3 deben estar en la misma línea porque el primero te dice que no encuentra qué es SAL_sameIRQL, y los segundos cuando el compilador asume que es un entero...

    De nuevo te digo que no debes incluir ese fichero cabecera a mano. Ese fichero está para que el preprocesador y el compilador de Windows sepa qué funciones están disponibles para qué plataformas.

    Eso me indica que quieres usar algo que no tienes disponible. En el hipotético (muy hipotético) caso de que consiguieras compilar y generar un fichero viable, cuando lo ejecutes obtendrás una excepción de NotImplemented o una caída del core de Windows Phone 8, con la consiguiente inestabilidad de todo el teléfono...

    ¿Qué es lo que quieres hacer?


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    viernes, 2 de agosto de 2013 10:47
    Moderador
  • Hola!

    Si no agrego esa libreria por ningun motivo, obtengo este error:

    Cannot open include file: 'winapifamily.h': No such file or directory

    Y no estoy trabjando con WIndows Phone 8, nunca lo mencione.

    viernes, 2 de agosto de 2013 17:58
  • Bien.

    ¿Estás llamado a métodos soportados de Win32 en Windows Phone? ¿Es decir si buscas en la MSDN esos métodos, te dicen que están soportados en Windows Phone? Si eso es afirmativo, la inclusión de "windows.h" en los ficheros que uses debería ser suficiente.

    Si aun así no funciona, algo estás haciendo mal.

    Si estás usando bibliotecas de terceros, serán ellos los que te digan cómo usarla en Windows Phone.

    ¿Qué API nativa estás usando?


    MVP Visual C++ - Visita mi blog sobre desarrollo: http://geeks.ms/blogs/rfog/

    domingo, 4 de agosto de 2013 14:50
    Moderador