1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > MAC OSX stdio.h或iostream等头文件无法找到的解决办法

MAC OSX stdio.h或iostream等头文件无法找到的解决办法

时间:2023-05-28 03:48:13

相关推荐

MAC OSX stdio.h或iostream等头文件无法找到的解决办法

C程序头文件

今天发现在命令行用clang编译一个普通的c文件时报错:

fatal error: ‘stdio.h’ file not found

查了一下,普遍的说法是:

安装xcode-select($ xcode-select --install),接着安装 /Library/Developer/CommandLineTools/Packages/macOS_SDK_headers_for_macOS_10.14. pkg

这种方法不行,我在CommandLineTools文件夹下没有找到Packages,后来找到了一个很好用的方法:

$ export SDKROOT=$(xcrun --sdk macosx --show-sdk-path)

这个方法最大的好处是不用手动去找库文件位置,把这行命令添加到~/.zshrc,再$ source ~/.zshrc文件就行,不过我运行$ xcrun --sdk macosx --show-sdk-path指令得到的SDK路径是

/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk

这是在Xcode应用内,不确定没有装Xcode的mac会是什么结果

C++头文件无法找到

后面又遇到了C++头文件iostream等也无法找到的情况,仔细搜了一下,上述C语言的方法已经不适用了。想偷懒不行,只能找一下这些头文件的 位置。

我找到的C++头文件的位置在:

/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1

然后就是修改环境变量,C++的环境变量修改是:

$ export CPLUS_INCLUDE_PATH=/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/include/c++/v1:$CPLUS_INCLUDE_PATH

黑体加粗部分是新增的部分,把这行代码添加到~/.zshrc的最后再$ source ~/.zshrc加载就可以了。如果是C语言的库也可以修改对应的C_INCLUDE_PATH环境变量。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。