mac下編譯go-ethereum

macos: 10.14.4html

下載go-ethereum源碼,按照文檔執行命令編譯:c++

$ make all git

報錯:
fatal error: 'stdlib.h' file not foundmacos

/usr/includexcode

查看xcode是否安裝:app

$ xcode-select --install
xcode-select: error: command line tools are already installed, use "Software Update" to install updatesui

$ xcode-select -p
/Applications/Xcode.app/Contents/Developercode

$ brew confightm

Clang: 10.0 build 1001
Git: 2.20.1 => /usr/local/bin/git
macOS: 10.14.4-x86_64
CLT: 10.2.0.0.1.1552586384
Xcode: 10.2
CLT headers: 10.2.0.0.1.1552586384blog

發現xcode已經安裝。

使用命令查看 clang++的 include 搜索路徑(#include <...> search starts here: 後面)。

$ clang++ -E -x c++ - -v < /dev/null

ignoring nonexistent directory "/usr/include/c++/v1"
ignoring nonexistent directory "/usr/include"

發現忽略了不存在的/usr/include。 說明macOS SDK 的頭文件不存在。

安裝llvm:

$ brew install llvm

問題仍然存在。

安裝頭文件:

$ cd /Library/Developer/CommandLineTools/Packages/
$ open macOS_SDK_headers_for_macOS_10.14.pkg

再次編譯go-ethereum, 經過。 問題解決。

參考資料:
一、https://stackoverflow.com/que...
二、https://www.cnblogs.com/flipp...
三、https://apple.stackexchange.c...

相關文章
相關標籤/搜索