您好!欢迎来到互帮网

互帮网

热门搜索: 商城    房产源码    区块链    博客    理财   

虚拟币钱包开发教程之进阶版

分类:新闻频道 时间:2018-04-24 15:25 浏览:2495
概述
1.准备你的构建系统1.1安装MinGW(MSYS)shellhttp://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe从MinGW安装管理器 - >所有软件包 - > MSYS - >标记以下安装:From MinGW installation manager ->
内容

1.准备你的构建系统

1.1安装MinGW(MSYS)shell

http://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe

从MinGW安装管理器 - >所有软件包 - > MSYS - >标记以下安装:

From MinGW installation manager -> All packages -> MSYS -> mark the following for installation:

msys-base-bin

... then click on Installation -> Apply changes


确保没有MinGW包检查安装或从以前的安装呈现。只有上面的MSYS包应该被安装。还要确保没有安装msys-gccmsys-w32api软件包。

1.2安装Perl

https://pan.baidu.com/s/1dFhKElj

安装时使用默认值。 无法下载 请联系QQ1799733624

1.3安装Python

http://www.python.org/ftp/python/3.3.3/python-3.3.3.amd64.msi

安装时使用默认值。 若无法下载 请联系QQ1799733624

1.4从MinGW-builds项目安装工具链:

i686-4.8.2-release-posix-dwarf-rt_v3-rev3.7z下载并解压到C:\

http://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win32/Personal%20Builds/mingw-builds/4.8.2/threads-posix/dwarf/i686-4.8.2-release-posix-矮rt_v3-rev3.7z

1.5设置系统PATH环境变量


确保在PATH环境变量中设置了mingw-builds,MSYS,Perl和Python bin文件夹。在Windows 7上,您的路径应该如下所示:

C:\MinGW\msys\1.0\bin;C:\mingw32\bin;C:\Python33;C:\Perl\site\bin;C:\Perl\bin;%SystemRoot%\system32;%SystemRoot%;%SystemRoot%\System32\Wbem;%SYSTEMROOT%\System32\WindowsPowerShell\v1.0\

1.6其他检查

C:\ MinGW \ bin应该只包含mingw-get.exe。你的gcc -v输出应该是:

$ gcc -v
Using built-in specs.COLLECT_GCC=c:\mingw32\bin\gcc.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-languages=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-W64 project' --with-bugurl=http://sourceforge.net/projects/mingw-w64 CFLAGS='-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-W64 project)

2.下载,解包并构建所需的依赖关系

2.1 OpenSSL

http://www.openssl.org/source/openssl-1.0.1g.tar.gz

从MinGW shell(C:\ MinGW \ msys \ 1.0 \ msys.bat)中解压源文件到C:,重命名文件夹,然后配置并执行:

cd /<your download path>
tar zxvf openssl-1.0.1g.tar.gz -C /c
mv /c/openssl-1.0.1g /c/openssl-1.0.1g-mgw
cd /c/openssl-1.0.1g-mgw
Configure mingwmake

2.2 Berkeley DB

http://download.oracle.com/berkeley-db/db-4.8.30.NC.tar.gz

我们将使用4.8版来保存二进制钱包的兼容性。从MinGW shell解压缩源文件,配置并进行:

cd /<your download path>
tar zxvf db-4.8.30.NC.tar.gz -C /c
mv /c/db-4.8.30.NC /c/db-4.8.30.NC-mgw
cd /c/db-4.8.30.NC-mgw/build_unix
../dist/configure --disable-replication --enable-mingw --enable-cxx
make

2.3提升

http://sourceforge.net/projects/boost/files/boost/1.55.0/

下载zip或7z压缩包,将Boost解包到C:中,重命名,然后从Windows命令提示符下引导并编译:

cd C:\
mv C:\boost_1_55_0 C:\boost_1_55_0-mgw
cd C:\boost_1_55_0-mgw
bootstrap.bat mingw
b2 --build-type=complete --with-chrono --with-filesystem --with-program_options --with-system --with-thread toolset=gcc stage

这将编译所需的Boost库,并将它们放到stage文件夹(C:\ boost_1_55_0 \ stage)中。注意:确保不要使用tarball,因为unix EOL标记可能会中断批处理文件。

2.4 Miniupnpc

下载http://miniupnp.free.fr/files/download.php?file=miniupnpc-1.9.tar.gz并解压缩到C:,然后从Windows命令提示符下:

cd C:\
mv C:\miniupnpc-1.9 C:\miniupnpc-1.9-mgw
cd C:\miniupnpc-1.9-mgw
mingw32-make -f Makefile.mingw init upnpc-static
mkdir C:\miniupnpc-1.9-mgw\miniupnpc
copy C:\miniupnpc-1.9-mgw\*.h C:\miniupnpc-1.9-mgw\miniupnpc

2.5 Qrencode

然后下载http://prdownloads.sourceforge.net/libpng/libpng-1.6.9.tar.gz,然后从一个MinGW shell中解开,配置并使之:

cd /<your downlaod path>
tar zxvf libpng-1.6.9.tar.gz -C /c
cd /c/libpng-1.6.9
configure
make

下载并解压C:\目录下的http://fukuchi.org/works/qrencode/qrencode-3.4.3.tar.gz,然后配置并执行:

cd /<your downlaod path>
tar zxvf qrencode-3.4.3.tar.gz -C /c
mv /c/qrencode-3.4.3 /c/qrencode-3.4.3-mgw
cd /c/qrencode-3.4.3-mgw
LIBS="../libpng-1.6.9/.libs/libpng16.a ../../mingw32/i686-w64-mingw32/lib/libz.a" \
png_CFLAGS="-I../libpng-1.6.9" 
\png_LIBS="-L../libpng-1.6.9/.libs" \
configure --enable-static --disable-shared
make

3.编译对象sharesd

https://github.com/Peershares/Peershares/archive/master.zip下载Peershares master 并解压缩到C:\

使用文本编辑器,根据您的依赖版本和位置,在C:\ Peershares-master \ src \ makefile.mingw中编辑INCLUDEPATHS,LIBPATHS和LIBS:

INCLUDEPATHS= \
 -I"C:\boost_1_55_0-mgw" \
 -I"C:\db-4.8.30.NC-mgw\build_unix" \
 -I"C:\openssl-1.0.1g-mgw\include"LIBPATHS= \
 -L"C:\boost_1_55_0-mgw\stage\lib" \
 -L"C:\db-4.8.30.NC-mgw\build_unix" \
 -L"C:\openssl-1.0.1g-mgw"LIBS= \
 -l boost_system-mgw48-mt-s-1_55 \
 -l boost_filesystem-mgw48-mt-s-1_55 \
 -l boost_program_options-mgw48-mt-s-1_55 \
 -l boost_thread-mgw48-mt-s-1_55 \
 -l db_cxx \
 -l ssl \
 -l crypto

和...

ifdef USE_UPNP
 INCLUDEPATHS += -I"C:\miniupnpc-1.9-mgw"
 LIBPATHS += -L"C:\miniupnpc-1.9-mgw"
 LIBS += -l miniupnpc -l iphlpapi
 DEFS += -DSTATICLIB -DUSE_UPNP=$(USE_UPNP)
 endif

Upnp支持默认是禁用的。如果你想用UPNP支持集进行编译:

 USE_UPNP:=1

从MinGW shell,编译peersharesd:

cd /c/Peershares-master/src
make -f makefile.mingw
strip peersharesd.exe

4.用Qt 4.8编译peershares-qt.exe

4.1下载并解压Qt 4.8

http://download.qt-project.org/official_releases/qt/4.8/4.8.5/qt-everywhere-opensource-src-4.8.5.zip

假设qt源从Windows命令提示符下解压到C:\ Qt \ 4.8.5:

cd C:\Qt\4.8.5
configure -release -opensource -confirm-license -static -no-sql-sqlite -no-qt3support -no-opengl -qt-zlib -no-gif -qt-libpng -qt-libmng -no-libtiff -qt-libjpeg -no-dsp -no-vcproj -no-openssl -no-dbus -no-phonon -no-phonon-backend -no-multimedia -no-audio-backend -no-webkit -no-script -no-scripttools -no-declarative -no-declarative-debug -no-style-plastique -no-style-cleanlooks -no-style-motif -no-style-cde -nomake demos -nomake examples
mingw32-make

现在添加“C:\ Qt \ 4.8.5 \ bin;” 到你的系统路径。

4.3编辑C:\ Peershares-master \ peershares-qt.pro

用你最喜欢的文本编辑器,添加依赖库的位置:

# Dependency library locations can be customized with:
# BOOST_INCLUDE_PATH, BOOST_LIB_PATH, BDB_INCLUDE_PATH,
# BDB_LIB_PATH, OPENSSL_INCLUDE_PATH and OPENSSL_LIB_PATH respectively
BOOST_LIB_SUFFIX=-mgw48-mt-s-1_55
BOOST_INCLUDE_PATH=C:/boost_1_55_0-mgw
BOOST_LIB_PATH=C:/boost_1_55_0-mgw/stage/lib
BDB_INCLUDE_PATH=C:/db-4.8.30.NC-mgw/build_unix
BDB_LIB_PATH=C:/db-4.8.30.NC-mgw/build_unix
OPENSSL_INCLUDE_PATH=C:/openssl-1.0.1g-mgw/include
OPENSSL_LIB_PATH=C:/openssl-1.0.1g-mgw
MINIUPNPC_INCLUDE_PATH=C:/miniupnpc-1.9-mgw
MINIUPNPC_LIB_PATH=C:/miniupnpc-1.9-mgw
QRENCODE_INCLUDE_PATH=C:/qrencode-3.4.3-mgw
QRENCODE_LIB_PATH=C:/qrencode-3.4.3-mgw/.libs

标记为静态构建:

CONFIG += static

4.5编译peershares-qt.exe

请注意,如果您跳过peersharesd编译,或者如果您清理了源文件夹,则需要在继续之前编译libleveldb.a和libmemenv.a库。如果您编译peersharesd.exe,请跳过此步骤。从MinGW外壳:

cd /C/Peershares-master/src/leveldb
TARGET_OS=NATIVE_WINDOWS make libleveldb.a libmemenv.a

从Windows命令提示配置并使:

cd C:\Peershares-master\
qmake "USE_UPNP=-" peershares-qt.pro
mingw32-make -f Makefile.Release


评论
资讯正文页右侧广告
联系我们
Q Q:1022542827
电话:400-3680-5659
邮箱:service@0757erp.com
时间:09:00 - 21:00
联系客服
网站客服 投诉纠纷 商务合作 联系客服
400-3680-5659
手机版

扫一扫进手机版
返回顶部