当我尝试包含一个sys模块(例如#include <sys/shm.h>
)时,我收到以下错误:没有这样的文件或目录。在互联网上找不到任何有效的解决方案。
使用的语言是C。
答案 0 :(得分:1)
在您的问题中,您没有指定您正在尝试编译内核模块。
内核中没有用户空间库(和用户空间函数)。这就是为什么你不能包含用户空间标题。你必须只使用内核提供的函数进行开发。
答案 1 :(得分:0)
glibc
标头(您可能刚安装了gcc
而没有glibc
标头。
如果你运行Ubuntu / Debian,这个命令可以解决你的问题:
sudo apt-get install libc-dev
注意:linux/shm.h
和sys/shm.h
不一样。 linux/shm.h
由Linux内核提供,不适合普通开发人员使用。