先上編譯通過的**路徑
內有五個專案,bitcoin-cli 、bitcoind、bitcoin-qt 、leveldb、test-bitcoin
其中 bitcoin-cli 、bitcoind、bitcoin-qt 、leveldb 編譯通過, test-bitcoin空專案暫時不搞了。
leveldb專案是靜態庫,給其它幾個專案用。
一、環境搭建:
位元幣原始碼的依賴庫包含openssl、berkeley db、boost、libevent 、protobuf
、qt等第三方依賴庫, 本人編的是32位程式,注意
2. 安裝boost,我是自己下原始碼編譯的,頭檔案目錄c:\boost_1_66
3.安裝
berkeley db 頭檔案目錄c:\program files (x86)\oracle\berkeley db 12cr1 6.2.32\include,用到庫
libdb62.lib,
4.安裝protobuf ,頭檔案目錄d:\develop\protobuf-2.6.1\src,在qt相關的bitcoin-qt用到庫 libprotobuf.lib ,libprotoc.lib
5.安裝libevent ,頭檔案目錄c:\libevent2.1.8\include,用到庫 libevent.lib
6. 安裝qt5.6.3
二、**修改
首先編譯 bitcoind
1. 檔案d:\solution\bitcoin\src\leveldb\db\c.cc 中
注掉//#include
2. 檔案 d:\solution\bitcoin\src\leveldb\db\db_iter.cc
修改 ssize_t 為 size_t
3. 檔案 d:\solution\bitcoin\src\leveldb\db\db_iter.cc
127行 注掉 //void operator=(const dbiter&);
4. 檔案 d:\solution\bitcoin\src\leveldb\port\port_win.h
注掉 //#define snprintf _snprintf
5. 檔案 d:\solution\bitcoin\src\cuckoocache.h
刪除246行 template 關鍵字.
6. 檔案 d:\solution\bitcoin\src\net.cpp
2452 行 新增 大括號
{}
7. 檔案 d:\solution\bitcoin\src\tinyformat.h
187 , 188行把引用改為指標
8. 修改檔名,避免檔名衝突
\rpc\util.cpp 到 \rpc\util2.cpp
rpc\util.h 到 rpc\util2.h
rpc\protocol.cpp 到 rpc\protocol2.cpp
rpc\protocol.h 到 rpc\protocol2.h
rpc\net.cpp 到 rpc\net2.cpp
再編譯 bitcoin-qt 有如下修改
1. 如 #include 帶 forms 路徑
改為#include
2. 如
#include 尾綴.moc
改為#ifndef qt_no_debug
#include
#else
#include
#endif
3. 檔案 d:\solution\bitcoin\src\qt\bitcoin.cpp 中
注掉
// q_init_resource(bitcoin_locale);
4. 修改檔名,避免檔名衝突
wallet\fees.h 到 wallet\fees2.h
wallet\fees.cpp 到 wallet\fees2.cpp
wallet\init.h 到 wallet\init2.h
wallet\init.cpp 到 wallet\init2.cpp
5. .proto 生成 .h、.cc檔案,用工具protobuf
命令格式:
protoc --proto_path=e:/bitcoin/qt --cpp_out=e:/bitcoin/qt e:/bitcoin/qt/paymentrequest.proto
把生成的.h、.cc檔案新增到bitcoin-qt
大概就改了這麼多吧,有興趣的朋友可以直接下**試試,祝學習愉快!
位元幣原始碼的依賴庫包含openssl、berkeley db、boost、miniupnpc、qt等第三方依賴庫
https://github.com/tangqingli
10進製VS2進製
對於乙個十進位制數a,將a轉換為二進位制數,然後按位逆序排列,再轉換為十進位制數b,我們乘b為a的二進位制逆序數。例如對於十進位制數173,它的二進位制形式為10101101,逆序排列得到10110101,其十進位制數為181,181即為173的二進位制逆序數。乙個1000位 即10 999 以內的...
wireshark原始碼vs2008編譯
最近需要開發 wireshark 外掛程式,分析一套協議,於是首先要解決的問題就是如何在 windows 環境下編譯 wireshark 編譯過程中也借鑑了一些網上的資料,但是基本都有問題,在經歷無數次的失敗之後的摸索,最終在 wireshark 編譯成功。在編譯過程中需要一下軟體 visual s...
VS2013編譯python原始碼
系統 win10 手頭有個python模組,是用c寫的,想編譯安裝就需要讓python呼叫c編譯器。直接編譯發現使用的是vc9編譯,不支援c99標準 兩個槽點 為啥vs2008都還不支援c99?手頭這個c 為啥不好好寫?anyway,此時兩個想法,乙個是改c原始碼,另乙個是自行用vs2013編譯乙個...