gpt4 book ai didi

c++ - pkg-config 和 LD_LIBRARY_PATH 的区别

转载 作者:行者123 更新时间:2023-12-04 18:31:35 26 4
gpt4 key购买 nike

我试图了解 Ubuntu 上 C++ 中的编译和链接过程。

据我所知,pkg-config通常用于提取 .pc 中定义的元数据通过 PKG_CONFIG_PATH 归档,然后找到编译和链接时需要的包含和库文件。

我的问题是因为我们已经有了 pkg-config , 我们为什么要使用 LD_LIBRARY_PATHld.so.conf ?是否 pkg-configLD_LIBRARY_PATH有不同的用途(我知道 LD_LIBRARY_PATH 的优先级高于 ld.so.conf ),或者是 LD_LIBRARY_PATH用于没有.pc的情况文件,还是只是这个优先事项?

最佳答案

LD_LIBRARY_PATHld.so.conf用于在运行时定位共享库,当程序由加载器启动时(ld.so)。 pkg-config文件改为包含编译器/链接器标志( -I-L-l 等),这些标志需要构建使用特定库的程序(例如,通过 -Lpath 定位链接的 shlib)。

另请注意,许多库缺少 .pc配置。

关于c++ - pkg-config 和 LD_LIBRARY_PATH 的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57025507/

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