c - 包括多个平台/版本的 libc 目录

标签 c linux unix

需要将我的平台 (Ubuntu) 上的这些目录传递给 clang,以便它可以正确解析包含 libc header 的代码:

/usr/include/x86_64-linux-gnu

/usr/lib/gcc/x86_64-linux-gnu/4.6/include

/usr/lib/gcc/x86_64-linux-gnu/4.6/include-fixed

在其他平台和 gnu libc 版本上找到该目录位置的最简单方法是什么?我需要这个来制作一个可移植的构建脚本。

请告诉我这是以某种方式或形式标准化的。 Pkg 配置?

最佳答案

llvm/tools/clang/lib/Driver/ToolChains.cpp搜索 GCC 安装,具有针对不同平台的各种硬编码路径。

在 Gentoo、Debian 和 Ubuntu 上,发行版提供的 clang 源代码修补此文件以查找特定于发行版的位置(例如 gentoo/sys-devel/clang/files/clang-3.1-gentoo-runtime-gcc-detection-v3.patchdebian/clang_3.1-8/debian/patches/21-searchPathHeaders.diff 等)。

关于c - 包括多个平台/版本的 libc 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135465/

相关文章:

c - 为什么“while(!feof(file))”总是错误的?

php - PHP 版本的 Cpanel 和 Command line 彼此不同

javascript - Makefile 不对 xxx 执行任何操作

c++ - 互斥锁在 Linux 中没有像我希望的那样工作

c - 受制于结构、获取和放置

c - mmap() 和锁定文件

c - 为什么这会产生段错误?

linux - 不小心添加了文件但后来添加了 git ignore

java - exec 命令在 Linux 服务器上不起作用

c - 从系统发送到 Unix 的命令中转义字符