首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >我的/usr/include/sys目录在哪里?

我的/usr/include/sys目录在哪里?
EN

Ask Ubuntu用户
提问于 2014-02-01 15:59:04
回答 5查看 39.8K关注 0票数 16

最近我从Kubuntu12.04升级到13.04,一个完整的重新安装。

使用gcc 4.7.3。我编译了一些程序来发现没有/usr/include/sys目录。也就是说,types.hstat.h等都缺席了。它们存在于include/linux目录中,但不存在于include/sys中。

到底怎么回事?

EN

回答 5

Ask Ubuntu用户

回答已采纳

发布于 2014-02-01 16:24:24

如果您在64位上使用Ubuntu (我现在不能在32位系统上准确地发送文本),那么问题中的目录是:

代码语言:javascript
运行
复制
/usr/include/x86_64-linux-gnu/sys

现在,有了这些信息,如果在终端上确实需要这些文件(/usr/include/sys),可以创建这些文件的符号链接:

代码语言:javascript
运行
复制
sudo ln -s /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/sys/types.h
sudo ln -s /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/sys/stat.h

# ...etc
票数 18
EN

Ask Ubuntu用户

发布于 2016-02-24 19:06:52

如果您在64位linux上工作,请安装libc6-dev-amd64 64。在ubuntu终端上键入以下命令:

代码语言:javascript
运行
复制
sudo apt-get install libc6-dev-amd64
票数 6
EN

Ask Ubuntu用户

发布于 2018-06-24 12:10:13

让我们来看看gcc的默认搜索路径是什么。从这个答案中,我们得到以下命令:

代码语言:javascript
运行
复制
gcc -xc -E -v -

在输出的末尾,我在我的机器上看到了这个:

代码语言:javascript
运行
复制
ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include

注意第二行到最后一行。这意味着,当您用#include <sys/stat.h>编译一个C文件时,gcc在尝试/usr/include/sys/stat.h之前将查找/usr/include/x86_64-linux-gnu/sys/stat.h,而无需进行任何符号链接。

票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/414110

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档