gpt4 book ai didi

Linux 用户空间应用程序编译错误

转载 作者:塔克拉玛干 更新时间:2023-11-03 02:01:00 25 4
gpt4 key购买 nike

我是 linux 内核/系统开发的新手。

下面是我用来编译我的应用程序的 Makefile

CROSS_COMPILE   ?=
KERNEL_DIR ?= /usr/src/linux

CC := $(CROSS_COMPILE)gcc
KERNEL_INCLUDE := -I/usr/include
CFLAGS := -W -Wall -g $(KERNEL_INCLUDE)
LDFLAGS := -g

all: finder-drv

finder-drv: finder.o
$(CC) $(LDFLAGS) -o $@ $^

clean:
rm -f *.o
rm -f finder

我收到以下错误:

/usr/include/arm-linux-gnueabi/sys/ioctl.h:22:22: fatal error: features.h: No such file or directory

我不知道为什么缺少 features.h。

这个问题是在我运行以下命令后出现的:

make headers_install INSTALL_HDR_PATH=/usr

谁能告诉我如何解决这个问题并在用户空间应用程序中正确链接/使用内核头文件?

最佳答案

直接针对内核编译用户空间程序是行不通的。

如果您正在编写用户空间程序,您将针对导出的 header 进行编译,并且仅使用导出的功能,例如系统调用。您可能会通过 C 库提供的代理。

如果您正在编写内核模块,您应该使用内核构建系统而不是制作您自己的 makefile。

关于Linux 用户空间应用程序编译错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10531772/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com