乐趣区

mac下编译go-ethereum

macos:10.14.4
下载 go-ethereum 源码,按照文档执行命令编译:
$ make all
报错:fatal error: ‘stdlib.h’ file not found
/usr/include
查看 xcode 是否安装:
$ xcode-select –install xcode-select: error: command line tools are already installed, use “Software Update” to install updates
$ xcode-select -p /Applications/Xcode.app/Contents/Developer
$ brew config
Clang: 10.0 build 1001Git: 2.20.1 => /usr/local/bin/gitmacOS: 10.14.4-x86_64CLT: 10.2.0.0.1.1552586384Xcode: 10.2CLT headers: 10.2.0.0.1.1552586384
发现 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,通过。问题解决。
参考资料:1、https://stackoverflow.com/que…2、https://www.cnblogs.com/flipp…3、https://apple.stackexchange.c…

退出移动版