Bitcoin0.21版 公链开发(1) Bitcoind 、Bitcoin-qt编译
1. copy 項(xiàng)目文件:build_msvc\bitcoin-qt\bitcoin-qt.vcxproj ( 文件是我這里之前已有的)
2. copy 項(xiàng)目文件:build_msvc\bitcoin-qt\libbitcoin_server.vcxproj
我在之前的vcxproj文件基礎(chǔ)上作了好多更改,因?yàn)樾碌腂itcoin增加了很多源文件,但這些文件都沒有被加入到項(xiàng)目中。因此會產(chǎn)生編譯link error(cpp文件沒有加入到項(xiàng)目中,找不到其實(shí)現(xiàn)).
eg.
嚴(yán)重性 代碼 說明 項(xiàng)目 文件 行 禁止顯示狀態(tài)
錯誤 LNK2019 無法解析的外部符號 “public: void __cdecl CCoinControl::SetNull(void)” (?SetNull@CCoinControl@@QEAAXXZ),該符號在函數(shù) “public: __cdecl CCoinControl::CCoinControl(void)” (??0CCoinControl@@QEAA@XZ) 中被引用 bitcoind G:\job\hdChain\bitcoin\bitcoin-master\bitcoin-master\build_msvc\bitcoind\libbitcoin_wallet.lib(wallet_wallet.obj) 1
解決方法:找到函數(shù)實(shí)現(xiàn)coincontrol.cpp,加入到vcxproj項(xiàng)目文件中。
<ItemGroup><ClCompile Include="..\..\src\bitcoind.cpp" /><ClCompile Include="..\..\src\wallet\coincontrol.cpp" /> </ItemGroup>3. 最新的項(xiàng)目新多出來一個libsecp256k1,需要手動將生成的lib在bitcoin-qt的鏈接庫中輸入文件名。
4. 中間還有個修改
wallet/context.cpp node/context.cpp這兩個文件同名,鏈接有問題,需要把其中一個文件改名。
5. 項(xiàng)目編譯問題
error MSB4057: xxx.vcxproj The target “Build” does not exist in the project, no target build
在項(xiàng)目文件末尾添加:
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />6. 示例界面
總結(jié)
以上是生活随笔為你收集整理的Bitcoin0.21版 公链开发(1) Bitcoind 、Bitcoin-qt编译的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: FileCoin (1) 初步介绍
- 下一篇: Bitcoin 中的挖矿算法(1) 难度