gpt4 book ai didi

macos - 找不到 libjpeg 的安装

转载 作者:行者123 更新时间:2023-12-05 09:06:22 24 4
gpt4 key购买 nike

我是 macOS 新手,在使用库 libjpeg 时遇到问题。

用 brew install jpeg 安装后,我什至尝试重新安装。

joshbone@Joshs-Mac-mini ~ % brew reinstall jpeg
==> Downloading https://homebrew.bintray.com/bottles/jpeg-9d.arm64_big_sur.bottl
Already downloaded: /Users/joshbone/Library/Caches/Homebrew/downloads/12e480d7337641afc99230ff2b626197e3206ea378eef8ccbb8b11f587afe7f4--jpeg-9d.arm64_big_sur.bottle.tar.gz
==> Reinstalling jpeg
==> Pouring jpeg-9d.arm64_big_sur.bottle.tar.gz
🍺 /opt/homebrew/Cellar/jpeg/9d: 21 files, 1001.2KB

然后我尝试查看是否可以找到该库,我在终端中键入以下命令:“gcc -ljpeg”。这给出了以下输出:

ld: library not found for -ljpeg
clang: error: linker command failed with exit code 1 (use -v to see invocation)

为什么找不到图书馆?我该怎么做才能修复安装?我是否正确使用了这些终端命令?

编辑:我设法在/opt/homebrew/Cellar/jpeg/9d/lib 下找到符号链接(symbolic link) (.dylib)。但是当我运行 gcc -ljpeg -L/opt/homebrew/Cellar/jpeg/9d/lib/时,我收到以下错误消息:

Undefined symbols for architecture arm64:
"_main", referenced from:
implicit entry/start for main executable
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

最佳答案

Why can't it find the library?

它不存在或不在包含路径中。

And what can I do to fix the installation?

使用 -v按照 gcc 的建议标记 ( gcc -ljpeg -v )。你会看到 -L标志,它会告诉你它在哪里寻找库文件(包含路径)。在我的例子中是 -L/usr/local/lib如果我在该目录中查找“jpeg”(ls /usr/local/lib/ | grep jpeg),我会看到libjpeg.dylib在那里。

brew 默认安装到 /usr/local/Cellar在英特尔或 /opt/homebrew在 ARM 上(在此称为 <prefix> )。文件<prefix>/jpeg/9d/lib/libjpeg.dylib应该存在并且 brew 应该创建了 /usr/local/lib/libjpeg.dylib作为已安装版本的符号链接(symbolic link)。可能 brew 没有像预期的那样创建符号链接(symbolic link)。正在运行 brew doctor可能会提供一些见解,或者您可以手动创建该符号链接(symbolic link),但在不了解更多信息的情况下,您可能会在使用其他库时遇到此问题。

另一种选择是让 gcc 查看 brew 所说的将 libjpeg 安装到的路径:gcc -v -ljpeg -L <prefix>/jpeg/9d/lib/ .这显然会破坏其他库,但它让我们知道该库将实际运行。

检查权限永远不会有坏处。

Am I even using these terminal commands correctly?

是的。我用全新安装的 Mojave 进行了测试。我跑了 gcc -ljpeg和你一样的错误。然后我跑了 brew install jpeg然后 gcc -ljpeg返回您所期望的 ( undefined symbols [...] "_main" )

在某些情况下, header 是单独捆绑的,您将安装类似 brew install package-dev 的东西但它们与 jpeg 捆绑在一起包。

由于您是 MacOS 的新手,我经常在使用它进行开发时遇到一些怪癖。这远不是在 Windows 上开发的挫败感,但利用 MacOS 进行开发的最佳方法是通过 ssh 进入 Linux box imo

关于macos - 找不到 libjpeg 的安装,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66147142/

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