2009-11-27 37 views
6

Estoy usando Code :: Blocks 8.02 y tengo una pregunta .. cada vez que intento compilar minimad.c (el ejemplo que viene con Libmad) me sale un mensaje de error:"sys/mman.h: No existe ningún archivo o directorio"

sys/mman.h: No such file or directory y por supuesto un montón de errores a seguir :(

ya sé que su biblioteca de la gestión de memoria ... la pregunta es: ¿Dónde se puede descargar I <sys/mman.h> o si? hay otro compilador que admite más bibliotecas que Code :: Bloks 8.02?

PS Ya vinculé mad.h al compilador y probé bien, así que sé que no hay problema allí ...

Respuesta

8

Code :: Blocks no es un compilador, es un IDE. Y <sys/mman.h> es un encabezado de Unix y no está disponible en Windows.

+1

@Pavel Minaev: de hecho, si especifica en windows, aún obtendrá las definiciones y declaraciones, es decir, siempre que el código haya sido portado a la plataforma win32 ... haciendo #include o cualquier otro archivo de cabecera , no implica necesariamente que esté basado en Unix porque se usa una barra diagonal. ¡Espero que ayude! :) – t0mm13b

+5

@tommieb, esto no tiene nada que ver con la barra diagonal y todo tiene que ver con el hecho de que todos los encabezados bajo 'sys' son las API tradicionales de Unix. Las implementaciones de Windows normalmente proporcionan algunas de ellas, aquellas que son fáciles de implementar, como 'sys/stat.h' o' sys/utime.h', pero no todas. Las únicas implementaciones que pueden proporcionar 'mman.h' son Cygwin e Interix (SFU/SUA). –

0

¿Cómo compila el código? Es posible que deba especificar -I para especificar el directorio de inclusión adicional que quizás tenga que buscar en su instalación/usr/local/include/sys, tal vez. También querrá usar el indicador -L para especificar la biblioteca a la que se vincula también. Nuevamente busque la ubicación correcta.

Espero que esto ayude, Saludos cordiales, Tom.

5

Esta es probablemente demasiado tarde para el cartel original, pero si alguien necesita mman.h para Windows, he encontrado esto: http://code.google.com/p/mman-win32/

Usted sólo debe ser capaz de abrirlo en VS (Sólo he hecho en VS2010) y compilarlo y luego debe obtener lo que desea.

Cuestiones relacionadas