0

我刚刚切换到 M1 MacBook Air,但在使用 Homebrew 时遇到了问题。我认为安装很顺利,然后我使用给定的命令将其添加到我的路径中:

Run these two commands in your terminal to add Homebrew to your PATH:

    echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> /Users/xxx/.zprofile
    eval "$(/opt/homebrew/bin/brew shellenv)"

我也这样做了brew install cunit,然后当我输入brew listCUnit 时,那里列出了所以我假设 cunit 的 brew install 工作。

但是当我运行我的 C 测试代码时,这就是我得到的:

test/test.c:3:10: fatal error: 'CUnit/Basic.h' file not found
#include <CUnit/Basic.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make: *** [test_compile] Error 1

我已经坐了三天,打电话给Apple支持,搜索了与此相关的每个页面,但仍然找不到有效的解决方案。

有没有人有同样的问题?请帮忙

4

1 回答 1

0

Homebrew在 M1 Mac 上默认安装到 /opt/homebrew中,并且默认情况下不再链接到/usr/local(以防止与 Rosetta 库安装冲突)。这意味着如果不明确告诉编译器/链接器您的 Homebrew 软件包的安装位置,就无法找到包含文件和库。

最简单的方法是CPATH在编译之前设置环境变量:

export CPATH=/opt/homebrew/include

将上述行添加到您的 shell 配置文件(.zprofile对于 zsh 或.bash_profile对于 bash),它将用于所有未来的编译。

对于还需要共享库的依赖项,您还需要标记 Homebrew 的新lib路径的位置:

export LIBRARY_PATH=/opt/homebrew/lib
于 2022-02-04T12:43:06.540 回答