我带着我一直面临的一个奇怪的问题来找你。 所以上周,我为一个 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
这让我目瞪口呆,因为几天前它还工作得很好。 我尝试使用导出 CPATH
export CPATH=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include
但我收到了一堆警告,但它也不起作用。 非常感谢任何帮助!
信息:我正在运行最新版本的 BigSur 和 VSCode。
最佳答案
显然 macOS 更新已经卸载了 XCode 开发者工具。
我最终卸载了llvm
和libomp
,重新安装时告诉我brew没有CLT
(使用brew配置
来检查)。
然后我运行经典的 xcode-select --install
然后 brew install llvm
和 brew install libomp
,编辑我的路径以包含llvm 的 bin 又可以正常工作了。
关于c - macOS llvm 找不到 stdio.h 了,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66658186/