{fmt} 和 format.h 未在 MAC CLANG 上链接

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

在 Mac 上,我已使用 Brew 安装了 fmt,并尝试使用

#include <fmt/format.h>

包含 fmt/format.h

但是 Clang 返回此错误:

fatal error: 'fmt/format.h' file not found
我检查了路径,该文件存在于我的硬盘上。

它包含在 PATH 中但这并没有解决它。

有人可以帮忙吗?

c++ macos clang homebrew fmt
2个回答
5
投票

如果您使用的是 Xcode,那么您需要先使其可用。

转到项目的构建设置(在项目导航器下,单击与您的项目名称匹配的第一个文件夹),并确保在其子部分下选择All。请按照以下步骤操作:

  1. 搜索标题搜索路径以过滤列表。添加条目如下:
/usr/local/Cellar/fmt/9.1.0/include
  1. 搜索库搜索路径以过滤列表。添加条目如下:
/usr/local/Cellar/fmt/9.1.0/lib
  1. 搜索其他链接器标志以过滤列表。添加条目如下:
-lfmt

注意:在上述步骤中,将

9.1.0
替换为您安装的版本即可完成。

您可以通过运行来检查已安装的版本:

brew info fmt

1
投票

在我的基于 ARM 的 macOS(M1 芯片)上,rmalviya 的答案略有不同: 我用

/opt/homebrew/Cellar/fmt/9.1.0
而不是
/usr/local/Cellar/fmt/9.1.0 (still need to add suffix)

此外,我发现此博客有助于为基于 ARM 的 Mac 正确设置自制程序。

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