基於Win10和VS2013-VS2019的 比特幣源碼(v0.01)編譯-第四章
四、源碼編譯
4.1 集成第三方依賴
進入項目3rdparty文件夾,根據編譯好的第三方依賴庫的版本號,新建庫名稱-版本號:wxWidgets-3.0.4、openssl-1.0.2o、db-4.8.30、boost-1_35_0文件夾,用於存放對應lib和include文件:
4.1.1 wxWidgets
在預先編譯的wxWidgets中將include和lib文件拷出:
在3rdparty\ wxWidgets-3.0.4文件中拷入:
include文件直接拷貝;lib文件爲了代碼簡潔性,可僅拷貝vc_lib文件夾:
4.1.2 Openssl
將E:\openssl_32文件的include和lib文件夾拷出:
在3rdparty\openssl-1.0.2o文件中拷入:
其中,lib文件可僅留libeay32.lib和ssleay32.lib:
4.1.3 Berkeley DB
在3rdparty文件夾的db-4.8.30文件中新建include和lib文件夾:
將預先準備的db-4.8.30\build_windows中所有的.h文件拷出:
在3rdparty\ db-4.8.30\include文件中拷入:
將db-4.8.30\build_windows\Win32\Debug中的libdb48d.lib中拷出:
在3rdparty\Berkeley DB\lib文件中拷入:
4.1.4 Boost
在3rdparty文件夾的boost-1_35_0文件中新建include文件夾:
將預先準備好的boost_1_35_0文件的boost文件夾拷出:
在3rdparty\ boost-1_35_0\include文件中拷入:
4.2 配置第三方庫
現在需要在項目中配置項目屬性,首先右鍵bitcoin2013項目,選擇屬性,打開項目屬性:
選擇C/C+±常規-附加包含目錄-編輯,準備添加包含文件:
選中3rdparty中四個依賴項的include文件:
注意,需再添加wxWidgets\include\msvc和\wxWidgets\lib\vc_lib\mswud路徑:
選擇鏈接器-常規-附加庫目錄-編輯,準備添加庫文件:
選中3rdparty中三個依賴項的lib文件,注意,wxWidgets需添加lib文件裏的vc_lib,點擊確定:
選擇鏈接器-輸入-附加依賴項-編輯,準備添加附加依賴項:
將以下依賴項粘貼:
libdb48d.lib
libeay32.lib
ssleay32.lib
wxbase30ud_net.lib
wxmsw30ud_html.lib
wxbase30ud_xml.lib
wxmsw30ud_adv.lib
wxmsw30ud_aui.lib
wxmsw30ud_gl.lib
wxmsw30ud_media.lib
wxmsw30ud_propgrid.lib
wxmsw30ud_qa.lib
wxmsw30ud_ribbon.lib
wxmsw30ud_richtext.lib
wxmsw30ud_stc.lib
wxmsw30ud_xrc.lib
wxregexud.lib
wxscintillad.lib
wxmsw30ud_core.lib
wxbase30ud.lib
wxtiffd.lib
wxjpegd.lib
wxpngd.lib
wxzlibd.lib
wxexpatd.lib
winmm.lib
comctl32.lib
rpcrt4.lib
wsock32.lib
odbc32.lib
應用所添加的第三方依賴文件,點擊應用:
在src文件夾中新建wx文件,將wxWidgets-3.0.4\include\wx\msw拷入:
4.3 編譯項目
調試器選擇Debug-Win32,點擊菜單欄生成-生成解決方案或重新生成解決方案:
根據報錯提示,將缺少的dll動態庫拷入項目Debug文件夾。
在預先準備的db-4.8.30\build_windows\Win32\Debug,可以看到已編譯好的libdb48.dll動態庫文件,將其拷出:
在預先準備的E:\openssl_32\bin,可以看到已編譯好的libeay32.dll動態庫文件,將其拷出:
將dll文件拷入項目Debug路徑下:
再次編譯,編譯成功,生成的比特幣軟件界面如下:
後記
本機環境已安裝VS2013和VS2019,通過安裝有VS2015和VS2017的機器輔助,源碼也可以使用VS2015/VS2017/VS2019編譯成功(wxWidgets-3.0.4庫文件需要切換到對應版本)。
Win10下運行/挖礦:
若編譯過程出現錯誤,請參考:在win10 vs 2015 上編譯運行bitcoin v0.1源碼 (上)文章中對源碼錯誤的修改。
具體運行體驗見:比特幣第一版v0.01運行體驗及6次確認和Coinbase的120次成熟時間
完整版PDF:CSDN下載