なかなかビルド出来なくてハマってたのが成功したので書いておきます。
実際にビルドが失敗していたのはhyperが使っているrust-opensslです。
全部64bit版です。32bit版も同じ手順で行けるかは試していないのでわかりません。
環境
Rust 1.10.0
hyper 0.9.10
[package]
name = "web_server_example"
version = "0.1.0"
authors = ["Ayachi Gin <ayachigin@gmail.com>"]
[dependencies]
hyper = "0.9.10"
インストールするもの
Rust 1.10.0 Windows (GNU ABI †) 64-bit
msys2 msys2-x86_64-20160205.exe
Win64 OpenSSL v1.0.2h
それぞれダウンロードしてインストールする。
RustがMSVC ABIだとビルド出来なかった。何が違うのか分かる人いたら教えてほしいです。
rust-opensslのreadmeを参考にコンパイラをインストールする
ちなみにMacTypeをインストールしているとここで怒られます。
回避方法もあるみたいですがぼくは面倒なのでアンインストールして再起動しました。
$ pacman -S mingw-w64-x86_64-gcc
C:\msys64\mingw64\binを環境変数Pathに追加
OpenSSLの環境変数も追加
OPENSSL_INCLUDE_DIR=C:\OpenSSL-Win64\include
OPENSSL_LIB_DIR=C:\OpenSSL-Win64
これでcargo clean && cargo buildでビルド通ると思います。
通って……