Ошибка при выполнении cmake

115
08 января 2021, 15:50

Я запускаю команду:

sudo cmake --build . --target test-lite-client

Сборка доходит до 33%, после чего завершается ошибкой:

    /home/name/lite-client/tdutils/td/utils/tests.cpp: In member function ‘virtual td::Status td::RegressionTesterImpl::verify_test(td::Slice, td::Slice)’:
/home/name/lite-client/tdutils/td/utils/tests.cpp:39:72: error: ‘sha256’ was not declared in this scope
     auto hash = PSTRING() << format::as_hex_dump<0>(Slice(sha256(result)));
                                                                        ^
make[3]: *** [tdutils/CMakeFiles/tdutils.dir/build.make:739: tdutils/CMakeFiles/tdutils.dir/td/utils/tests.cpp.o] Error 1
make[2]: *** [CMakeFiles/Makefile2:1944: tdutils/CMakeFiles/tdutils.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:107: CMakeFiles/test-lite-client.dir/rule] Error 2
make: *** [Makefile:164: test-lite-client] Error 2

Вот начальное содержимое файла tests.cpp (последняя строка - проблемная):

#include "td/utils/tests.h"
#include "td/utils/base64.h"
#include "td/utils/crypto.h"
#include "td/utils/filesystem.h"
#include "td/utils/Parser.h"
#include "td/utils/PathView.h"
#include "td/utils/port/path.h"
namespace td {
struct TestInfo {
  string name;
  string result_hash;  // base64
};
StringBuilder &operator<<(StringBuilder &sb, const TestInfo &info) {
  // should I use JSON?
  CHECK(!info.name.empty());
  CHECK(!info.result_hash.empty());
  return sb << info.name << " " << info.result_hash << "\n";
}
class RegressionTesterImpl : public RegressionTester {
 public:
  static void destroy(CSlice db_path) {
    unlink(db_path).ignore();
  }
  explicit RegressionTesterImpl(string db_path, string db_cache_dir) : db_path_(db_path), db_cache_dir_(db_cache_dir) {
    load_db(db_path);
    if (db_cache_dir_.empty()) {
      db_cache_dir_ = PathView(db_path).without_extension().str() + ".cache/";
    }
    mkdir(db_cache_dir_).ensure();
  }
  Status verify_test(Slice name, Slice result) override {
    auto hash = PSTRING() << format::as_hex_dump<0>(Slice(sha256(result)));

Как это можно решить?

Answer 1

попробуй

sudo apt install zlib1g-dev

READ ALSO
TON compile error c++ cmake

TON compile error c++ cmake

На 83% ошибка:

91
Передать значение из одной функции в другую функцию?

Передать значение из одной функции в другую функцию?

Как из функции add_matrix_A и add_matrix_B предать N и M в функцию matrix_C?

120
С++: непонятная ошибка C2244

С++: непонятная ошибка C2244

Есть класс считывания данные из файла выполненный через итератор:

100
C++ from 11 to 17

C++ from 11 to 17

При переходе данный код заголовка перестал работать

146