参照教程https://github.com/bitshares/bitshares-core/wiki/BUILD_WIN32

1、先安装 visual studio 2019、git for windows、cmake、strawberry perl。

以下所有命令均需要在从开始菜单x64 Native Tools Command Prompt for VS 2019打开的CMD窗口里运行。

2、创建c:\development\cpp目录,克隆源码并编译OPENSSL。

git clone https://github.com/openssl/openssl
cd openssl
git checkout tags/OpenSSL_1_1_1b
perl ./Configure VC-WIN64A no-shared
nmake

注意不要运行nmake install,我们尽量不污染操作系统。

3、编译libcurl

git clone https://github.com/curl/curl
cd curl
git checkout tags/curl-7_64_1
biuldconf.bat
mkdir curl-build
cd curl-build
cmake -G "Visual Studio 16 2019" -A x64 -DCMAKE_USE_OPENSSL=ON -DCURL_DISABLE_FTP=ON -DCURL_DISABLE_LDAP=ON -DCURL_DISABLE_TELNET=ON -DCURL_DISABLE_DICT=ON -DCURL_DISABLE_FILE=ON -DCURL_DISABLE_TFTP=ON -DCURL_DISABLE_LDAPS=ON -DCURL_DISABLE_RTSP=ON -DCURL_DISABLE_POP3=ON -DCURL_DISABLE_IMAP=ON -DCURL_DISABLE_SMTP=ON -DCURL_DISABLE_GOPHER=ON -DCURL_STATICLIB=ON -DOPENSSL_ROOT_DIR=C:\Development\cpp\openssl ..\
cmake --build . --target libcurl --config Release

通过-DOPENSSL_ROOT_DIR=C:\Development\cpp\openssl指定OPENSSL的根目录。不要使用install 作为target,我们尽量不污染操作系统。

4、编译boost

git clone https://github.com/boostorg/boost
cd boost
git checkout tags/boost-1.69.0
git submodule update --init --recursive
bootstrap.bat
b2 --prefix=c:\Development\cpp\boost169 --toolset=msvc variant=release threading=multi address-model=64 install -j7

如果最后一条命令运行出现错误,可能需要先修过project-config.jam 文件。

import option ; 
 
using msvc : 14.2 : "C:\Program Files (x86)\Microsoft Visual Studio19\Community\VC\Tools\MSVC.26.28801\bin\Hostx64\x64\cl.exe" ;
 
option.set keep-going : false ; 

主要是第二行,确保cl.exe 的路径正确。

5、编译bitshares-core

git clone https://github.com/bitshares/bitshares-core
cd bitshares-core
git submodule update --init --recursive
cmake -G "Visual Studio 16 2019" -A x64 -DBOOST_ROOT=c:\Development\cpp\boost169 -DCURL_STATICLIB=ON -DCURL_LIBRARY="C:\Development\cpp\curl\curl-build\lib\Release\libcurl_imp.lib" -DCURL_INCLUDE_DIR="C:\Development\cpp\curl\include" -DOPENSSL_CONF_SOURCE="C:\Development\cpp\openssl\apps\openssl.cnf" -DOPENSSL_ROOT_DIR=C:\Development\cpp\openssl
cmake --build . --target all_build --config Release -j7

编译完成后的见证人节点程序witness_node.exe在C:\Development\cpp\bitshares-core\programs\witness_node\Release目录下,需要把C:\Development\cpp\curl\curl-build\lib\Release下的libcurl.dll复制到该目录,才能顺利运行。

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据