需要将我的平台 (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.patch 、 debian/clang_3.1-8/debian/patches/21-searchPathHeaders.diff 等)。
关于c - 包括多个平台/版本的 libc 目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12135465/