gpt4 book ai didi

c++ - include-path 和 library-path 中的相对路径

转载 作者:行者123 更新时间:2023-11-28 00:07:32 26 4
gpt4 key购买 nike

在详细模式下使用 g++ 编译我的 C++ 程序后,我注意到 LIBRARY_PATH 有很多 ../

/usr/lib/gcc/x86_64-linux-gnu/4.8/
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../x86_64-linux-gnu/
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../lib/
/lib/x86_64-linux-gnu/
/lib/../lib/
/usr/lib/x86_64-linux-gnu/
/usr/lib/../lib/
/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../
/lib/
/usr/lib/

其中一些很有趣,例如/lib/../lib/。 mingw环境下也是如此:

d:/mingw/bin/../lib/gcc/mingw32/4.6.2/../../../../mingw32/lib

我猜这是 d:\mingw\mingw32\lib 的加长版。为什么以这种方式列出库路径?

最佳答案

编译 gcc 时,就像许多其他使用自动配置的程序一样,指定安装路径供其使用。由于 gcc 有许多文件分散在整个文件系统中,并且由于编译 gcc 被认为是一项艰巨的任务(不再像以前那样正确,但仍然如此),因此 gcc 有一些技巧来减少对具体安装路径。

您所看到的就是一个这样的把戏。

通过使用相对于已知组件所在位置的路径,gcc 创建了一个环境,您可以在其中将整个安装基础移动到不同的目录,并且仍然可以找到它的所有库。

关于c++ - include-path 和 library-path 中的相对路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34662683/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com