美文网首页
mac os 10.15.7: xxxx.h not found

mac os 10.15.7: xxxx.h not found

作者: jacky_8897 | 来源:发表于2021-04-30 18:07 被阅读0次

    剽窃:https://www.cnblogs.com/nokiaguy/p/12764331.html

    _cgo_export.c:3:10: fatal error: 'stdlib.h' file not found

    这个错误我以前遇到过,是由于/usr/local目录中没有stdlib.h文件导致的,在上一个macOS版本中,可以在磁盘上搜索macOS_SDK_headers_for_macOS_10.14.pkg文件,然后安装即可。不过在Catalina中,并没有macOS_SDK_headers_for_macOS_10.14.pkg文件,当然macOS_SDK_headers_for_macOS_10.15.pkg也没有。不过在/Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk目录下却发现了已经安装好的相应文件。

    注意:如果没有该目录或相关文件,可以使用 xcode-select --install命令安装

    这里又要用到软链接了,其实go使用cgo编译时,会到如下两个目录搜索相关文件:
    /System/Library/Frameworks/CoreFoundation.framework
    /System/Library/Frameworks/Security.framework

    所以只要通过软链接,将相关的目录和文件链接到这两个目录即可,于是有了如下的解决方案:

    在终端进入/System/Library/Frameworks/CoreFoundation.framework目录,然后执行下面两条命令:
    sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Headers Headers

    sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/CoreFoundation.framework/Versions/A/Modules Modules

    再进入/System/Library/Frameworks/Security.framework目录,然后执行下面两条命令:
    sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework/Headers Headers

    sudo ln -s /Library/Developer/CommandLineTools/SDKs/MacOSX10.15.sdk/System/Library/Frameworks/Security.framework/Modules Modules

    完成以上步骤后,新系统就一切恢复如常了,真是虚惊一场。最后建议:用户的数据最好还是放在数据卷中,如果非要通过系统卷的根(/)访问,可以在根目录创建软链接,但不要忘了打开SIP哦!

    相关文章

      网友评论

          本文标题:mac os 10.15.7: xxxx.h not found

          本文链接:https://www.haomeiwen.com/subject/bxforltx.html