以下讲的是在 Windows 下的编译方法。

使用 Msys2 进行编译。

警告:走完全部流程可能消耗 60 分钟甚至更多时间。

x86_64 依赖

(用pacman -Syu一通乱装)

gcc autoconf libtool automake make zlib openssl asciidoc xmlto pcre-devel
mingw-w64-cross-headers-git
mingw-w64-x86_64-headers-git
mingw-w64-x86_64-mbedtls
mingw-w64-x86_64-libsodium

(后来还需要libcares-devel请注意)

之后请将/lib用符号链接指向/mingw64/lib,关闭 MinTTY 再启动。

GitHub 仓库

/shadowsocks/libudns
/shadowsocks/libev
/shadowsocks/mbedtls
/shadowsocks/libsodium

/shadowsocks/shadowsocks-libev
/shadowsocks/simple-obfs

前四个需要先编译安装,流程简单亲民,大致如下:

  • 发现autogen.sh就用 bash 去执行它。
  • 发现configure./configure
  • 发现Makefile或者makefile就执行make && make install

后两个需要先到对应目录执行git submodule update --init --recursive
流程可以不走完,光make就可以了。
过后可以在src目录找到对应的可执行文件。(不可执行?)

Dynamic Link Libaries

这部分是 Windows 特色。

shadowsocks-libev 需要libgcc_s_seh-1.dll libmbedcrypto.dll libwinpthread-1.dll msys-2.0.dll msys-gcc_s-seh-1.dll msys-pcre-1.dll msys-sodium-18.dll msys-ssp-0.dll
simple-obfs 需要msys-2.0.dll msys-ssp-0.dll msys-gcc_s-seh-1.dll
(后来还需要msys-cares-2.dll

不要问我怎么知道的。如果还没对,Windows 会使用“弹框3连”通知你的。