2016-03-18 3 views
0

Mit Yocto 1.8 (fido) verwende ich ein einfaches yocto Rezept, um eine Makefile zu laufen.Verweis auf gcc mit yocto Rezept Makefile, nicht in der Lage, die stdint zu finden

SUMMARY = "PCI kernel module" 
LICENSE = "GPLv2" 
LIC_FILES_CHKSUM = "file://COPYING;md5=4a0f8ad6a793571b331b0e19e3dd925c" 

inherit module 

PR = "r0" 
PV = "1.0" 

SRC_URI = "file://Makefile \ 
      file://COPYING \ 
      file://code.c \ 
      file://code.h \ 
      " 

S = "${WORKDIR}" 

Und hier ist die Makefile.

obj-m := code.o 

SRC := $(shell pwd) 

all: 
    $(MAKE) -C $(KERNEL_SRC) M=$(SRC) 

modules_install: 
    $(MAKE) -C $(KERNEL_SRC) M=$(SRC) modules_install 

clean: 
    rm -f *.o *~ core .depend .*.cmd *.ko *.mod.c 
    rm -f Module.markers Module.symvers modules.order 
    rm -rf .tmp_versions Modules.symvers 

Wenn bitbake auf diesem Rezept ausgeführt wird, erhalte ich folgende Kompilierungsfehler.

error: no include path in which to search for stdint.h 
| # include_next <stdint.h> 
|       ^

Wie konfiguriere ich dieses Rezept gcc aufzunehmen beim Kompilieren?

Antwort

3

Wie sieht Ihr code.c aus?

Sie können keine Userspace-Header in einem Modul verwenden, und soweit ich weiß, ist stdint.h Header aus Userspace.

+0

, dass das Problem war, ersetzt '' 'stdint.h''' mit' '' Linux/types '' '. –

0

Ich denke, das ist Toolchain-Problem , wenn Ihre Dateien .c Datei verwenden $ {CC} in Make-Datei in YoTo kompilieren. Dateien sind CPP-Anwendung $ {} CXX in makefile

dann wird es mit yocto Standard-Toolchain kompilieren

Verwandte Themen