2009-11-27 15 views
6

Sto usando Code :: Blocks 8.02 e ho una domanda .. ogni volta che provo a compilare minimad.c (l'esempio che viene fornito con Libmad) ottengo un messaggio di errore:"sys/mman.h: nessun file o directory"

sys/mman.h: No such file or directory e, naturalmente, un po 'di errori da seguire :(

so già che la sua biblioteca di gestione della memoria ... la domanda è: Dove posso scaricare <sys/mman.h> o se? c'è un altro compilatore che supporta più librerie quindi Code :: Blocks 8.02?

PS Ho già collegato mad.h al compilatore e ho provato bene, quindi so che non ci sono problemi ...

risposta

8

Codice :: Blocks non è un compilatore, è un IDE. E <sys/mman.h> è un'intestazione Unix e non è disponibile su Windows.

+1

@Pavel Minaev: in effetti se si specifica in Windows verranno comunque inserite le definizioni e le dichiarazioni, ovvero, a condizione che il codice sia stato portato su piattaforma win32 ... facendo #include o qualsiasi altro file di intestazione , non implica necessariamente che sia unix basato a causa di una barra rovesciata usata. Spero possa aiutare! :) – t0mm13b

+5

@tommieb, questo non ha nulla a che fare con la barra diretta e tutto ciò che riguarda il fatto che tutte le intestazioni sotto 'sys' sono le API Unix tradizionali. Normalmente le implementazioni di Windows ne forniscono alcune - quelle che sono facili da implementare, come 'sys/stat.h' o' sys/utime.h' - ma non tutte. Le uniche implementazioni che potrebbero fornire 'mman.h' sono Cygwin e Interix (SFU/SUA). –

0

Come si compila il codice? Potrebbe essere necessario specificare -I per specificare la directory di inclusione extra che potrebbe essere necessario scavare nell'installazione/usr/local/include/sys. Dovresti anche usare il flag -L per specificare anche la libreria che viene collegata. Ancora una volta scavare intorno per trovare la posizione corretta.

Spero che questo aiuti, Cordiali saluti, Tom.

5

Questo è probabilmente troppo tardi per il manifesto originale, ma se qualcuno ha bisogno mman.h per Windows, ho trovato questo: http://code.google.com/p/mman-win32/

Si dovrebbe solo essere in grado di aprirlo in VS (ho fatto solo in VS2010) e costruiscila e quindi dovresti ottenere ciò che desideri.