【发布时间】:2020-07-20 19:06:48
【问题描述】:
我的问题是:如何确保 gcc 默认自动找到正确的包含文件?我所做的是使用 --prefix=$HOME/.local 编译 gcc 模块分支并且它有效。接下来要尝试下一个要求:使用该新编译器安装“build2”。所以我愿意
PATH="$HOME/.local/bin:$HOME/.local/libexec/gcc/x86_64-pc-linux-gnu/11.0.0/:$PATH" LD_LIBRARY_PATH="/home/p/.local/lib64" sh build2-install-0.13.0.sh --sudo false $HOME/.local/
我收到很多关于缺少头文件的错误,例如数组、stddef.h、sstream、bits/c++config.h 和 limits.h
将-I$HOME/.local/{include/c++/11.0.0/x86_64-pc-linux-gnu,include/c++/11.0.0,lib/gcc/x86_64-pc-linux-gnu/11.0.0/include,lib/gcc/x86_64-pc-linux-gnu/11.0.0/include-fixed} 添加到 g++ 选项可以解决这些问题,但我希望将这些路径内置到我的编译器中。我怎么做?我必须在 gcc 源代码中的哪些位置进行更改以使 gcc 知道它在哪里安装了所有这些标头?
编辑:我的问题的解决方法很简单:问题是 ~/.local/bin 是 ~/bin 的符号链接,所以我只需要 rm ,将 ~/bin 移动到它的位置并选择创建一个符号链接~/.local/bin 到 ~/bin。我的问题仍然存在,现在可能更具学术性:我如何强制 gcc 默认在某个位置查找标头?
【问题讨论】: