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