我试图安装一个自定义的比特币核心的fork,从 这里 当编译时,我得到以下错误。
我想我已经安装了所有的先决条件。
Making all in src
make[1]: Entering directory '/home/muhammad/Programs/SimorghCoin/src'
make[2]: Entering directory '/home/muhammad/Programs/SimorghCoin/src'
CXX bitcoind-bitcoind.o
CXX libbitcoin_server_a-addrdb.o
CXX libbitcoin_server_a-addrman.o
CXX libbitcoin_server_a-bloom.o
CXX libbitcoin_server_a-blockencodings.o
CXX libbitcoin_server_a-blockfilter.o
CXX libbitcoin_server_a-chain.o
CXX libbitcoin_server_a-checkpoints.o
CXX consensus/libbitcoin_server_a-tx_verify.o
CXX libbitcoin_server_a-httprpc.o
CXX libbitcoin_server_a-httpserver.o
httpserver.cpp:74:10: error: ‘deque’ in namespace ‘std’ does not name a template type
74 | std::deque<std::unique_ptr<WorkItem>> queue;
| ^~~~~
httpserver.cpp:33:1: note: ‘std::deque’ is defined in header ‘<deque>’; did you forget to ‘#include <deque>’?
32 | #include <support/events.h>
+++ |+#include <deque>
33 |
httpserver.cpp: In member function ‘bool WorkQueue<WorkItem>::Enqueue(WorkItem*)’:
httpserver.cpp:92:13: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
92 | if (queue.size() >= maxDepth) {
| ^~~~~
| Enqueue
httpserver.cpp:95:9: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
95 | queue.emplace_back(std::unique_ptr<WorkItem>(item));
| ^~~~~
| Enqueue
httpserver.cpp: In member function ‘void WorkQueue<WorkItem>::Run()’:
httpserver.cpp:106:35: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
106 | while (running && queue.empty())
| ^~~~~
| Enqueue
httpserver.cpp:110:31: error: ‘queue’ was not declared in this scope; did you mean ‘Enqueue’?
110 | i = std::move(queue.front());
| ^~~~~
| Enqueue
make[2]: *** [Makefile:6520: libbitcoin_server_a-httpserver.o] Error 1
make[2]: Leaving directory '/home/muhammad/Programs/SimorghCoin/src'
make[1]: *** [Makefile:10888: all-recursive] Error 1
make[1]: Leaving directory '/home/muhammad/Programs/SimorghCoin/src'
make: *** [Makefile:774: all-recursive] Error 1
这是我的配置。
Options used to compile and link:
with wallet = yes
with gui / qt = no
with zmq = yes
with test = yes
with bench = yes
with upnp = auto
use asm = yes
sanitizers =
debug enabled = no
gprof enabled = no
werror = no
target os = linux
build os =
我的操作系统是Manjaro 20.0.3 Lysia,我使用gcc(GCC)10.1.0。
谁能帮帮我?
包括 deque
漏掉 /home/muhammad/Programs/SimorghCoin/src/httpserver.cpp
. 你可以添加一行
#include <deque>
在第32行之后: