Эй, сообщество Stackoverflow,
Прямо сейчас у меня есть следующая проблема: я хочу скомпилировать C ++ с Mac OSX.10.11. Но каждый раз, когда я хочу сделать код, он дает мне код ошибки. Я уже гуглил это, но ничего не нашел.
hashGenesisBlock = uint256("0x01");
if (true && genesis.GetHash() != hashGenesisBlock)
{
Logprintf("recalculating params for mainnet.\n");
Logprintf("old mainnet genesis nonce: %s\n", genesis.nNonce.ToString().c_str());
Logprintf("old mainnet genesis hash: %s\n", hashGenesisBlock.ToString().c_str());
// deliberately empty for loop finds nonce value.
for(genesis.nNonce == 0; genesis.GetHash() > bnProofOfWorkLimit; genesis.nNonce++){ }
Logprintf("new mainnet genesis merkle root: %s\n", genesis.hashMerkleRoot.ToString().c_str());
Logprintf("new mainnet genesis nonce: %s\n", genesis.nNonce.ToString().c_str());
Logprintf("new mainnet genesis hash: %s\n", genesis.GetHash().ToString().c_str());
}
Сообщение об ошибке:
Making all in src
CXX libgamebit_common_a-chainparams.o
chainparams.cpp:143:13: error: use of undeclared identifier 'Logprintf'
Logprintf("recalculating params for mainnet.\n");
^
chainparams.cpp:144:72: error: member reference base type 'uint32_t'
(aka 'unsigned int') is not a structure or union
...Logprintf("old mainnet genesis nonce: %s\n", genesis.nNonce.ToString().c...
У вас есть идеи, почему я получаю такую ошибку?
На самом деле я пытаюсь скомпилировать биткойн.
Я надеюсь, что вы можете мне помочь.
Спасибо!
Вы должны сосредоточиться на первой ошибке компилятора:
error: use of undeclared identifier 'Logprintf'
То есть вы используете этот идентификатор Logprintf
возможно функция, но она не определена. Скорее всего, вам не хватает #include
это определяет это.
Следующая ошибка:
error: member reference base type 'uint32_t'
если вы посмотрите на строку 144, столбец 72, вот она:
Logprintf("old mainnet genesis nonce: %s\n", genesis.nNonce.ToString()
^
column 72|
Так что ваши nNonce
имеет тип uint32_t
и вы пытаетесь вызвать функцию-член ToString()
в теме. Но базовые типы в C ++ не имеют функций-членов, есть только структуры (то есть классы) и объединения.
Я подозреваю, что вы пытаетесь скомпилировать некоторый код C ++ / CLI с помощью чистого компилятора C ++. Боюсь, понадобится перевод.
Эту последнюю ошибку вы можете исправить, если у вас есть правильное определение Logprintf
, написав:
Logprintf("old mainnet genesis nonce: %u\n", (unsigned)genesis.nNonce);
Других решений пока нет …