gpt4 book ai didi

macos - 如何在 Mac OS X 上找到目标代码库的默认搜索路径?

转载 作者:行者123 更新时间:2023-12-01 13:28:58 30 4
gpt4 key购买 nike

dyld 的手册页(动态链接编辑器)说:
DYLD_FALLBACK_LIBRARY_PATH ...是以冒号分隔的包含库的目录列表。它用作安装路径中未找到的库的默认位置。默认情况下,它设置为 $(HOME)/lib:/usr/local/lib:/lib:/usr/lib。

但是,与手册页相反, DYLD_FALLBACK_LIBRARY_PATH 在 Mac OS X 上默认为空或未定义,如以下 bash 命令所示。

printenv DYLD_FALLBACK_LIBRARY_PATH
# OR
echo $DYLD_FALLBACK_LIBRARY_PATH

事实上,所有的环境变量都在 dyld的手册页上列出并解释了。为空或未定义,如以下 bash 脚本所示。
#!/bin/bash

while IFS=$'\n' read -r; do
printf %b "$REPLY = "
printenv "$REPLY"
echo
done < <(cat << EOF
DYLD_FRAMEWORK_PATH
DYLD_FALLBACK_FRAMEWORK_PATH
DYLD_LIBRARY_PATH
DYLD_FALLBACK_LIBRARY_PATH
DYLD_ROOT_PATH
DYLD_SHARED_REGION
DYLD_INSERT_LIBRARIES
DYLD_FORCE_FLAT_NAMESPACE
DYLD_IMAGE_SUFFIX
DYLD_PRINT_OPTS
DYLD_PRINT_ENV
DYLD_PRINT_LIBRARIES
DYLD_PRINT_LIBRARIES_POST_LAUNCH
DYLD_BIND_AT_LAUNCH
DYLD_NO_FIX_PREBINDING
DYLD_DISABLE_DOFS
DYLD_PRINT_APIS
DYLD_PRINT_BINDINGS
DYLD_PRINT_INITIALIZERS
DYLD_PRINT_REBASINGS
DYLD_PRINT_SEGMENTS
DYLD_PRINT_STATISTICS
DYLD_PRINT_DOFS
DYLD_NO_PIE
DYLD_SHARED_CACHE_DIR
DYLD_SHARED_CACHE_DONT_VALIDATE
EOF
)

此外,虽然 /etc/ld.so.conf是 Linux 存储加载器搜索的所有目录以查找库的地方,Mac OSX 缺少 /etc/ld.so.conf .

那么,Mac OS X 在哪里存储库的默认搜索路径?

最佳答案

我是医生这个问题 (46986246)。

我没有足够的权限来编辑我的问题或添加评论。 jwdonahue 添加了评论,说我的问题可能与 7285587 重复。让我向他解释。

这是 7285587 和我的问题之间的区别。
帖子7285587询问默认搜索路径是什么。
我知道默认搜索路径是 $(HOME)/lib:/usr/local/lib:/lib:/usr/lib ,如 dyld 的手册页上所写,我知道 7285587 的存在。

另一方面,我的问题是询问默认搜索路径的存储位置。虽然手册页说它存储在环境变量 DYLD_FALLBACK_LIBRARY_PATH 中,但我发现它没有存储在 DYLD_FALLBACK_LIBRARY_PATH 中。即使 DYLD_FALLBACK_LIBRARY_PATH 为空,configure脚本和/或 ld似乎从某处学习默认搜索路径。因此,库的默认搜索路径似乎存储在 DYLD_FALLBACK_LIBRARY_PATH 以外的其他地方。

我想知道它存储在哪里,以及如何验证它是$(HOME)/lib:/usr/local/lib:/lib:/usr/lib .

顺便说一句,我正在尝试将 Linux 程序移植到 Mac OS X。我的问题与 Cocoa 或 OSX 本地程序无关。因此,我的问题与/Library、/System/Library 或 ~/Library 无关。

关于macos - 如何在 Mac OS X 上找到目标代码库的默认搜索路径?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46986246/

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