如果你有兴趣和我一起探讨有关比特币莱特币开发的东西,可以加我 QQ43299243
很多朋友都知道如何在linux平台如何编译比特币程序,但是,到了windows平台,就会感觉到无从下手. 其实, 比特币程序是跨平台的. 你要编译windows版的比特币程序,基本上有两种方法,一种是在linux平台(推荐ubuntu 13.10)通过交叉编译的方法来编译.另外一种,就是直接在windows平台编译.我想,你既然要在windows平台使用,我就详细介绍一下如何在windwows平台编译比特币程序.我的平台:windows7
第一步:安装变编译环境QT和MINGW,msys 1、msys是一个在windows平台模拟shell的程序。 访问http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download下载安装程序之后,通过安装管理程序,按安装以下内容:From MinGW installation manager -> All packages ->MSYS选中以下安装包
msys-base-binmsys-autoconf-binmsys-automake-binmsys-libtool-bin点 apply changes开始安装。他会自动下载安装好。需要注意的是,确保不要安装msys-gcc和msys-w32api ,因为这两个包和我们的编译系统发生冲突。很多人出现一些莫名其妙的问题,就是因为这两个包。2、安装 MinGW-builds访问http://sourceforge.net/projects/mingw-w64/files/Toolchainstargetting Win32/PersonalBuilds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z/download下载并解压缩 i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z 到C盘根目录C:注意我的目录结构。你尽量和我一样。
3、设置PATH环境变量,将C:mingw32bin;添加到第一个。4、在命令行模式下输入 gc -v 会得到以下内容c:gcc -vUsing built-in specs.COLLECT_GCC=c:mingw32bingcc.exeCOLLECT_LTO_WRAPPER=c:/mingw32/bin/../libexec/gcc/i686-w64-mingw32/4.8.2/lto-wrapper.exeTarget: i686-w64-mingw32Configured with: ../../../src/gcc-4.8.2/configure--host=i686-w64-mingw32 --build=i686-w64-mingw32--target=i686-w64-mingw32 --prefix=/mingw32--with-sysroot=/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32--with-gxx-include-dir=/mingw32/i686-w64-mingw32/include/c++--enable-shared --enable-static --disable-multilib--enable-lang uages=ada,c,c++,fortran,objc,obj-c++,lto--enable-libstdcxx-time=yes --enable-threads=posix --enable-libgomp--enable-libatomic --enable-lto --enable-graphite--enable-checking=release --enable-fully-dynamic-string--enable-version-specific-runtime-libs --disable-sjlj-exceptions--with-dwarf2 --disable-isl-version-check--disable-cloog-version-check --disable-libstdcxx-pch--disable-libstdcxx-debug --enable-bootstrap --disable-rpath--disable-win32-registry --disable-nls --disable-werror--disable-symvers --with-gnu-as --with-gnu-ld --with-arch=i686--with-tune=generic --with-libiconv --with-system-zlib--with-gmp=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-mpfr=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-mpc=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-isl=/c/mingw482/prerequisites/i686-w64-mingw32-static--with-cloog=/c/mingw482/prerequisites/i686-w64-mingw32-static--enable-cloog-backend=isl--with-pkgversion='i686-posix-dwarf-rev3, Built by MinGW-W64project' --with-bugurl=http://sourceforge.net/projects/mingw-w64CFLAGS='-O2 -pipe-I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include-I/c/mingw482/prerequisites/i686-zlib-static/include-I/c/mingw482/prerequisites/i686-w64-mingw32-static/include'CXXFLAGS='-O2 -pipe-I/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/include-I/c/mingw482/prerequisites/i686-zlib-static/include-I/c/mingw482/prerequisites/i686-w64-mingw32-static/include'CPPFLAGS= LDFLAGS='-pipe-L/c/mingw482/i686-482-posix-dwarf-rt_v3-rev3/mingw32/opt/lib-L/c/mingw482/prerequisites/i686-zlib-static/lib-L/c/mingw482/prerequisites/i686-w64-mingw32-static/lib-Wl,--large-address-aware'Thread model: posixgcc version 4.8.2 (i686-posix-dwarf-rev3, Built by MinGW-W64project)至此,你的开发环境已经搭建好了,很简单吧
第二部分:下载bitcoin引用的外部库我们把它们全部放在 C:deps目录下2.1安装OpenSSL下载:http://www.openssl.org/source/openssl-1.0.1g.tar.gz进入启动 MinGw shell比如目录:(C:MinGWmsys1.0msys.bat)运行这个msys.bat,就会启动一个shell环境,提示符是$输入命令cd /c/deps/tar xvfz openssl-1.0.1g.tar.gzcd openssl-1.0.1gConfigure no-shared no-dso mingwmake
等待几分钟后,就把openssl编译好了。
2.2 下载Berkeley DB 访问:http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz我们推荐使用 4.8版本同样在msys shell环境下输入以下命令cd /c/deps/tar xvfz db-4.8.30.NC.tar.gzcd db-4.8.30.NC/build_unix../dist/configure --enable-mingw --enable-cxx --disable-shared--disable-replicationmake等待编译
2.3 安装Boost,下载地址:http://sourceforge.net/projects/boost/files/boost/1.55.0/
msys命令:cd C:depsboost_1_55_0bootstrap.bat mingwb2 --build-type=complete --with-chrono --with-filesystem--with-program_options --with-system --with-thread toolset=gccvariant=release link=static threading=multi runtime-link=staticstage
2.4 安装Miniupnpc 下载地址:http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz
cd C:depsminiupnpcmingw32-make -f Makefile.mingw init upnpc-static
2.5下载 protoc 和 libprotobuf:Download and unpackhttp://protobuf.googlecode.com/files/protobuf-2.5.0.zipmsys shell命令
cd /c/deps/protobuf-2.5.0configure --disable-sharedmake
2.6 qrencode:下载地址:http://prdownloads.sourceforge.net/libpng/libpng-1.6.10.tar.gz?download命令cd /c/deps/libpng-1.6.10configure --disable-sharedmake
下载 http://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.gzode:cd /c/deps/qrencode-3.4.3
LIBS="../libpng-1.6.10/.libs/libpng16.a../../mingw32/i686-w64-mingw32/lib/libz.a" png_CFLAGS="-I../libpng-1.6.10" png_LIBS="-L../libpng-1.6.10/.libs" configure --enable-static --disable-shared--without-tools
make
2.7 安装 Qt 5 库下载和解压缩http://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qtbase-opensource-src-5.2.1.7zhttp://download.qt-project.org/official_releases/qt/5.2/5.2.1/submodules/qttools-opensource-src-5.2.1.7z在 windows命令行输入:setINCLUDE=C:depslibpng-1.6.10;C:depsopenssl-1.0.1gincludesetLIB=C:depslibpng-1.6.10.libs;C:depsopenssl-1.0.1g
cd C:Qt5.2.1configure.bat -release -opensource -confirm-license -static-make libs -no-sql-sqlite -no-opengl -system-zlib -qt-pcre -no-icu-no-gif -system-libpng -no-libjpeg -no-freetype -no-angle-no-vcproj -openssl-linked -no-dbus -no-audio-backend-no-wmf-backend -no-qml-debug
mingw32-make
set PATH=%PATH%;C:Qt5.2.1bin
cd C:Qtqttools-opensource-src-5.2.1qmake qttools.promingw32-make
3. 下载Bitcoin 0.9.1 地址:https://github.com/bitcoin/bitcoin/archive/v0.9.1.zip
在msys shell下输入以下命令行:cp /c/deps/libpng-1.6.10/.libs/libpng16.a/c/deps/libpng-1.6.10/.libs/libpng.a
cd /c/bitcoin-0.9.1
./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 -I/c/deps/protobuf-2.5.0/src -I/c/deps/libpng-1.6.10 -I/c/deps/qrencode-3.4.3" 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 -L/c/deps/protobuf-2.5.0/src/.libs -L/c/deps/libpng-1.6.10/.libs -L/c/deps/qrencode-3.4.3/.libs" ./configure --disable-upnp-default --disable-tests --with-qt-incdir=/c/Qt/5.2.1/include --with-qt-libdir=/c/Qt/5.2.1/lib --with-qt-bindir=/c/Qt/5.2.1/bin --with-qt-plugindir=/c/Qt/5.2.1/plugins --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 --with-protoc-bindir=/c/deps/protobuf-2.5.0/src
make
strip src/bitcoin-cli.exestrip src/bitcoind.exestrip src/qt/bitcoin-qt.exe

这样,你就得到了变异好的 bitcoin-cli.exe和bitcoind.exe,bitcoin-qt.exe(windows QT图形界面的钱包软件)
如果你有兴趣和我一起探讨有关比特币莱特币开发的东西,可以加我QQ43299243