第45月第24天 clang fatal error: 'stdio.h' file not found
1.
所以如果使用源码编译出来的clang去编译c程序,应该怎么解决头文件问题?
- 加上选项:
-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文件。