z3: sudo make install 无法在 MacOS Sonoma (M1 pro) 上设置动态库

问题描述 投票:0回答:1

我尝试在配备 M1 pro 处理器和 MacOS Sonoma 的 MacBook 上安装 z3,并从该存储库 (

sudo make install
) 编译它。

make examples
成功了。

我使用

make examples
使用的相同命令成功地在另一个目录中编译了一个文件。

但是,执行编译后的文件时,无法加载库:

Library not loaded: libz3.dylib Referenced from: <856829F0-D35A-383B-8D63-7734D9099FC4> /my_path/cpp_example Reason: tried: 'libz3.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlibz3.dylib' (no such file), 'libz3.dylib' (no such file), '/my_path/libz3.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS//my_path/libz3.dylib' (no such file), '/my_path/libz3.dylib' (no such file)

将 libz3.dylib 文件强制复制到我尝试执行的文件所在的文件夹中后,它起作用了。

有人对如何以更优雅的方式解决这个问题有任何建议吗?这可能是 z3 的 make install 过程的问题吗?我的机器基本上是空的,没有安装奇怪/冲突的库。

谢谢你:)

g++ z3 dylib
1个回答
0
投票

TLDR;

export DYLD_LIBRARY_PATH=/usr/local/lib:DYLD_LIBRARY_PATH

理想情况下,在 Linux 上可以这样做:

sudo ldconfig /usr/local/lib

在带有苹果芯片的Mac OS(sonoma)上,论坛似乎说相应的命令是

sudo update_dyld_shared_cache
。但这似乎已被弃用。 对我有用的解决方法是按照 TLDR 中的方式导出。

© www.soinside.com 2019 - 2024. All rights reserved.