OS X 上的生成过程

概况 - 前方高能!(原文:Here be dragons!)

对我们来说OS X上的构建中断情况是不可避免的,因为Homebrew是一个滚动升级的软件包管理器,这意味着地面总是移动到我们的下方,除非我们把外部依赖项都添加到我们自己的 Homebrew tap 下,或者都作为我们子模块进行管理。使用者生成的结果非常依赖它们编译项目的时刻。也许昨天你的整个生成过程都非常顺利,但是到了今天你朋友在它们的机器上就得不到和你昨天一样的生成结果。不用说,这真的不是让人能高兴起来的状况。

如果你使用OS X遇到了生成中断的问题,你可以尝试在 Github issues 找一找有没有和你同样的情况已经被提交。如果有,那就在下面评论区进行交流,如果没有找到和你类似的情况,请创建一个新的事务,写明你的OS X版本号、cpp-ethereum版本号、使用的硬件和任何你认为相关的信息。请通过 gist.github.com 或相似的服务提交网络日志。

Gitter频道 cpp-ethereum-development 是我们经常出现的地方,一起努力解决已经发现的问题。

我们仅支持如下版本的OS X系统:

以太坊不支持老版本的OS X系统,一直以来我们也没有提供过支持。如果你还在使用较老版本的OS X系统,我们推荐你更新到最新的版本,不仅仅是你可以生成cpp-ethereum,同时也是为了你的安全考虑。

获取源代码

可以通过如下命令,从GitHub仓库获取源代码到本地:

git clone --recursive https://github.com/ethereum/cpp-ethereum.git
cd cpp-ethereum

准备工作和外部依赖库

确保你安装了最新版本的 xcode 它包含了在OS X上编译C++应用程序所需要的 Clang C++ 编译器、xcode IDE 和其他苹果开发所需要的工具。如果你是第一次安装xcode或者需要升级xcod版本,那么你需要在使用命令行命令之前使用以下命令同意软件授权:

sudo xcodebuild -license accept

我们的生成过程需要你的OS X提供安装 Homebrew ,以获取生成过程中使用到的外部依赖库。如果你想从头开始,那么点击这里可以获取卸载Homebrew的方法 uninstall Homebrew

我们现在提供“一键”脚本,用来在OS X系统和很多Linux发行版安装所需要的外部依赖库,通常这些步骤需要多步手动操作:

./scripts/install_deps.sh

使用命令行生成

进入工程的根目录,执行如下命令:

mkdir build
cd build
cmake ..
make -j4             (或者其他值,这取决于你的CPU核心数)

安装生成项

使用如下命令,将生成的二进制项安装到你的机器上:

make install

这将会把二进制项安装到 /usr/local//usr/bin/

生成xcode工程

进入项目的根目录,使用CMake来生成xcode的工程文件:

mkdir build_xc
cd build_xc
cmake -G Xcode ..

这些命令将会生成名为cpp-ethereum.xcodeproj的xcode工程文件,你可以用xcode打开工程,开始build/debug/run。