2009-11-27 24 views
6

Code :: Blocks 8.02 kullanıyorum ve bir sorum var .. her seferinde minimad.c (Libmad ile birlikte gelen örnek) derlemeye çalışıyorum. bir hata mesajı: "sys/mman.h: Böyle bir dosya ya da dizin yok"

sys/mman.h: No such file or directory ve tabii

hataların bir demet takip etmek :(

zaten onun bellek yönetim kütüphanesi ... soru olduğunu biliyoruz: nereden eğer <sys/mman.h> indirmek veya olabilir? Daha fazla kütüphaneyi destekleyen başka bir derleyici daha sonra Code :: Blocks 8.02?

PS Ben zaten derledim derledim ve iyi test ettim bu yüzden orada sorun yok biliyorum ...

cevap

8

Kod :: Bloklar bir derleyici değil, bir IDE. Ve <sys/mman.h> bir Unix üstbilgisidir ve Windows'ta mevcut değildir.

+1

@Pavel Minaev: Aslında pencerelerin altında belirtirseniz, hala tanımları ve bildirimleri, yani kodu win32 platformuna aktarılmış olması koşuluyla çekecektir ... #include veya başka bir başlık dosyası yaparak , bir eğik çizgi kullanıldığı için unix tabanlı olması zorunlu değildir. Umarım yardımcı olur! :) – t0mm13b

+5

@tommieb, bu eğik çizgi ve sys altındaki tüm başlıklar geleneksel Unix API'leri olduğu gerçeği ile ilgisi yoktur. Windows uygulamaları normalde bunlardan birkaçı sağlar - sys/stat.h' veya sys/utime.h' gibi kolay uygulanabilenler - hepsi değil. 'Mman.h' sağlayabilecek tek uygulama Cygwin ve Interix (SFU/SUA). –

0

Kodu nasıl derliyorsunuz? Eklemeniz gereken/include/dizin/local/include/sys komutunuzda ekleyebileceğiniz ekstra dizin belirtmek için -I belirtmeniz gerekebilir. Ayrıca, bağlantılı olan kütüphaneyi belirtmek için -L işaretini de kullanmak istersiniz. Doğru yeri bulmak için tekrar kazın.

Bu yardımcı olur umarım, Saygılarımızla, Tom.

5

Bu çok geç orijinal poster için muhtemelen ama herkes Windows için mman.h başlık dosyasında gerekiyorsa, bunu tespit ettik: http://code.google.com/p/mman-win32/

Sadece VS açmak mümkün olmalıdır (sadece yaptığım VS2010) ve onu inşa et ve sonra istediğini almalısın.

İlgili konular