2016-04-06 23 views
0

Baktım ve bunun için bir çözüm aradım. Çokderleme hatası önemli hata: sys types.h: Böyle bir dosya veya dizin yok #include <systypes.h>

Error :sys/types.h No such directory found

fatal error: sys/socket.h: No such file or directory on 32bit

Error :sys/types.h No such directory found

ve diğer benzer bağlantılar: Tabii bir şeyi ya da başka önermek bu bağlantılar vardır.

Size hatayı, ilgili Makefile ifadelerini vereyim ve içerme için dizin yapısını göstereyim.

Hata

gcc -o obj/nmlflpth.o -std=c99 -Ilarc/include -Ilarc/modules/include -Ilarc/milesup -Ilarc/pftk -Ilarc/npsol -Ilarc/src -Ilarc/uih -Ilarc/util -Ilarc/uopt -Ilarc/pgm -Ilarc/navlrc -Ilarc/modules/production/common -Ilarc/src_test -Ilarc/gtest/include -c -O2 larc/uih/nmlflpth.c 
larc/uih/nmlflpth.c:48:23: fatal error: sys\types.h: No such file or directory 
#include <sys\types.h> 

İlgili Makefile Tablolar

# list of all dirs with compilable C, C++ and F77 code 
dirs := larc/milesup \ 
      larc/pftk \ 
      larc/npsol \ 
      larc/src \ 
      larc/uih \ 
      larc/util \ 
      larc/uopt \ 
      larc/pgm \ 
      larc/navlrc \ 
      larc/modules/production/common 

# list of dirs with include/header files 
idirs := larc/include larc/modules/include 
idirs += $(dirs) 
idirs += larc/gtest/include 
ipaths := $(addprefix -I, $(idirs)) 
cflags := -std=c99 $(ipaths) 
optflag := -O2 

cdefines:= -DVERSION_BUILD_DATE="\"$(shell date)\"" \ 
     -DVERSION_VENDOR="\"$(VENDOR)\"" \ 
     -DVERSION_OSTYPE="\"$(OSTYPE)\"" \ 
     -DVERSION_HOST="\"$(HOST)\"" \ 
     -DVERSION_USER_NAME="\"$(USER)\"" \ 
     -DVERSION_VIEW_NAME="\"NONCLEARCASE\"" 

$(cobjs): obj/%.o: %.c 
    # $(CC) -o [email protected] $(cflags) -c $(optflag) $< 
    @ -mkdir -p obj/ 
    @ $(CC) -o [email protected] $(cflags) $(cdefines) $(ipaths) -c $(optflag) $< 

not olun: $ @ (CC) -o $ @ $ (derleme-) $ (cdefines) $ (ipaths) -c $ (optflag) $ < Sadece aşağıdaki @ $ (CC) -o $ @ $ (cflags) -c $ (optflag) $ çıkışını veriyor gibi görünüyor.

neden? Hiçbir fikrim yok.

sistemi içi klasörleri dahil et/types.h

Yani bu aradığını gcc geçerli:

$echo "#include <sys/types.h>" | gcc -E -x c - | grep types 
# 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4 
# 25 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 26 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4 
# 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 
# 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 
# 121 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4 
# 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4 
# 122 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4 
# 30 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 60 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 98 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 132 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 133 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 146 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 147 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 194 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 216 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 217 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 220 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 223 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 
# 270 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4 
# 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4 
# 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 
# 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4 
# 60 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 
# 90 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 
# 124 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 
# 211 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4 
# 271 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4 

Ben types.h için aşağıdaki klasör içeriğine sahip:

$ls /usr/include/x86_64-linux-gnu/sys |grep types.h 
bitypes.h 
types.h 

ve

ls /usr/include/sys |grep types.h 
bitypes.h 
types.h 
Debian paketinden

: Bu herhangi bir yardım büyük takdir

$ dpkg -S /usr/include/sys/types.h 
libc6-dev-amd64: /usr/include/sys/types.h 
$ dpkg -S /usr/include/x86_64-linux-gnu/sys/types.h 
libc6-dev:amd64: /usr/include/x86_64-linux-gnu/sys/types.h 

. Teşekkürler!

+1

'' hatanın nedeni olabilir #include '\' içinde yerine kodunda '/' Orada – Unimportant

+1

* hayır "sys \ types.h" * IS. Bu "sys ypes.h" eşdeğeri! "# Eclude " – paulsm4

cevap

3

Yani #include <sys/types.h> değil #include <sys\types.h>

+1

"komik bir şey yazdı" #include "başlıklı olmalıdır. gcc -E-x c - | grep türleri ' – ddz

+0

@LuizEduardoF. Biliyorum! Ama sonra tekrar hepimiz aptalca hatalar yaparız, o zaman evet .. –

+0

:(Bu, – torrho