第45月第24天 clang fatal error: 'stdio.h' file not found

1.

所以如果使用源码编译出来的clang去编译c程序,应该怎么解决头文件问题?

  1. 加上选项:-isysroot `xcrun --show-sdk-path`
    • 如:/path/to/your/clang -isysroot `xcrun --show-sdk-path` hello.c -o hello
    • 单独运行xcrun --show-sdk-path会发现输出一条路径,而且一看就能猜出是sdk的路径(前提是你用xcode-select --install装了)

通过自带的clang可以查看这个能正常编译的编译器在编译和链接时在哪寻找头文件(diff testing的思想),通过命令行clang -x c -E - -v < /dev/null查看

  • -x c, 将输入看成c语言文件,举一反三-x c++则把输入看成c++对待
  • -E, 只运行预处理(什么是预处理?直观来说把头文件、宏展开)
  • -, 单一横线表示把内容输出到stdout(标准输出)
  • </dev/null, unix的特殊文件,表示无底洞,在这里作为一个输入

https://www.cnblogs.com/LittleSec/p/12757964.html

clang -O2 -I/usr/local/include -L/usr/local/lib -lcurl curl/simple.c

-I参数设置包含目录,-L设置lib目录,-lcurl表示引入curl的lib文件。

原文地址:https://www.cnblogs.com/javastart/p/13186339.html