mac os 10.15.7: xxxx.h not found _cgo_export.c:3:10: fatal error: 'stdlib.h' file not found

剽竊: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目錄下卻發(fā)現(xiàn)了已經(jīng)安裝好的相應(yīng)文件。

注意:如果沒有該目錄或相關(guān)文件,可以使用 xcode-select --install命令安裝

這里又要用到軟鏈接了,其實go使用cgo編譯時,會到如下兩個目錄搜索相關(guān)文件:
/System/Library/Frameworks/CoreFoundation.framework
/System/Library/Frameworks/Security.framework

所以只要通過軟鏈接,將相關(guān)的目錄和文件鏈接到這兩個目錄即可,于是有了如下的解決方案:

在終端進入/System/Library/Frameworks/CoreFoundation.framework目錄,然后執(zhí)行下面兩條命令:
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目錄,然后執(zhí)行下面兩條命令:
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

完成以上步驟后,新系統(tǒng)就一切恢復(fù)如常了,真是虛驚一場。最后建議:用戶的數(shù)據(jù)最好還是放在數(shù)據(jù)卷中,如果非要通過系統(tǒng)卷的根(/)訪問,可以在根目錄創(chuàng)建軟鏈接,但不要忘了打開SIP哦!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容