【发布时间】:2021-06-13 21:52:36
【问题描述】:
我遇到了一个奇怪的问题来找你。 所以上周,我为一个 C 项目安装了 llvm 和 libomp,它在我的 makefile 开始时编译得很好:
CC=clang
CFLAGS = -O2 -fopenmp
CFLAGS += -I/usr/local/opt/libomp/include
LDFLAGS = -fopenmp
LDFLAGS += -L /usr/local/opt/libomp/lib
今天本来打算完成那个项目的,打开vs code(不知道有没有关系),左右加了一些代码,当我想再次编译代码测试是否一切正常的时候,给了我
me@macbookPro% make
clang -c -O2 -fopenmp -I/usr/local/opt/libomp/include bubble.c -o bubble.o
bubble.c:1:10: fatal error: 'stdio.h' file not found
#include <stdio.h>
^~~~~~~~~
1 error generated.
make: *** [bubble.o] Error 1
这让我目瞪口呆,因为几天前它工作得很好。 我试图用
做一个导出CPATHexport CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
但我收到了一堆警告,但也没有用。 非常感谢任何帮助!
信息:我正在运行最新版本的 BigSur 和 VSCode。
【问题讨论】:
-
您是否安装了 Big Sur 版本的 XCode(仍然)?如果没有,请尝试重新安装它。如果是这样,您可能没有使用 XCode
clang,您可能需要升级您正在使用的clang。此外,您的 CPATH 值末尾有/usr/include— 您是否尝试过删除/include,甚至是/usr/include?我认为 CPATH 不仅仅是指向标头的路径(但我还没有彻底调查过)。 -
@JonathanLeffler 感谢您的回答。我确实使用了正确的 clang:
% clang --version clang version 11.1.0 Target: x86_64-apple-darwin20.3.0 Thread model: posix InstalledDir: /usr/local/opt/llvm/bin我尝试缩短包含以删除 usr/include,但它也不起作用。我也跑了brew update && brew upgrade,一切都是最新的。
标签: c macos visual-studio-code clang llvm