编译Windows版智能坊钱包(没有GUI)
2017-02-27 本文已影响480人
Harlin_
说明
官方windows版本编译文档有点坑爹,依赖库编译都编译不出来,在网上找了好久,终于找到一个编译比特币钱包的方法,我把转载链接贴出来:http://8btc.com/article-1996-1.html。智能坊钱包是在比特币基础上开发的,所以大多数依赖库都是一样的,只不过智能坊团队开发了些功能,编译过程有些许不一样。
编译环境
- 平台:windows 10
- mingw32 下载地址【i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z】
- msys(一个在windows平台模拟shell的程序),下载地址【mingw-get-setup.exe】
编译环境安装
- 安装完msys之后,会进入依赖工具下载界面(也可手动启动bin/mingw-get.exe),把如下工具打勾,其余默认,注意不要下载msys-gcc和msys-w32api,不需要设置环境变量
msys-base-bin
msys-autoconf-bin
msys-automake-bin
msys-libtool-bin
- 安装mingw32,配置bin目录环境变量
PS:最好都安装在c盘下面,有些坑爹依赖默认会去c盘找
下载依赖库(tar包)
编译静态库
/c/deps为静态库路径
- 编译openssl
不可以多线程编译,会出现引用问题,有兴趣的可以自己去探索
msys shell命令(C:\MinGW\msys\1.0\msys.bat):
tar xvzf openssl-1.0.1g.tar.gz
cd openssl-1.0.1g
Configure no-shared no-dso mingw
make
- 编译miniupnpc
msys shell命令:
tar -zxvf miniupnpc-1.9.tar.gz
cd miniupnpc-1.9
mingw32-make -f Makefile.mingw init upnpc-static
mkdir miniupnpc
cp *.h miniupnpc/
- 编译Berkeley DB
编译时间比较长
msys shell命令:
tar -zxvf db-4.8.30.NC.tar.gz
cd db-4.8.30.NC/build_unix/
../dist/configure --enable-mingw --enable-cxx --disable-shared --disable-replication
make
- 编译boost
msys shell命令:
tar zxvf boost_1_55_0.tar.gz
cmd命令:
这里可能会出现找不到cl命令和vcvars32.bat文件,所以我安装了vs2010,设置了两个环境变量,分别是C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE;
cd C:\deps\boost_1_55_0
bootstrap.bat mingw
b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc variant=release link=static threading=multi runtime-link=static stage
编译钱包
- 下载源码 源码地址
- 编译钱包
不可以打乱顺序
msys shell命令:
cd dacrs-master/
sh autogen.sh
CPPFLAGS="-I/c/deps/boost_1_55_0 \
-I/c/deps/db-4.8.30.NC/build_unix \
-I/c/deps/openssl-1.0.1g/include \
-I/c/deps \
-std=c++11 \
" \
CXXFLAGS="-Wall" \
LDFLAGS="-L/c/deps/boost_1_55_0/stage/lib \
-L/c/deps/db-4.8.30.NC/build_unix \
-L/c/deps/openssl-1.0.1g \
-L/c/deps/miniupnpc-1.9" \
./configure \
--disable-upnp-default \
--without-gui \
--with-daemon \
--with-boost-libdir=/c/deps/boost_1_55_0/stage/lib \
--with-boost-system=mgw48-mt-s-1_55 \
--with-boost-filesystem=mgw48-mt-s-1_55 \
--with-boost-program-options=mgw48-mt-s-1_55 \
--with-boost-thread=mgw48-mt-s-1_55 \
--with-boost-chrono=mgw48-mt-s-1_55
cmd命令:
windowshell/start.bat
msys shell命令:
make
strip src/dacrs-d.exe