Попытка собрать библиотеку Tink (https://github.com/google/tink) с помощью Bazel. Bazel установлен, gcc версии 7.2.0, Windows 10 x64. Визуальный С++ 2017.
Сначала были ошибки типа "С++ компиляция правила '@boringssl//:crypto' не удалась" - я прокомментировал эти строки (думаю с флагами компиляции) в файле Boringssl/BUILD (разделы Boringssl_copts, Boringssl_copts_c11) и они исчезли.
Но после этого базель сказал, что эта ошибка находится в файле errors.h (https://github.com/google/tink/blob/master/cc/util/errors.h)
// from #include "absl/base/port.h"
#define PRINTF_ATTRIBUTE(string_index, first_to_check) \
__attribute__((__format__ (__printf__, string_index, first_to_check)))
// Constructs a Status object given a printf-style va list.
crypto::tink::util::Status ToStatusF(
crypto::tink::util::error::Code code, const char* format, ...)
PRINTF_ATTRIBUTE(2, 3);
} // namespace tink
} // namespace crypto
enter code here
Ошибка C3646: неизвестный спецификатор переопределения в строке 32 (строка с «PRINTF_ATTRIBUTE (2, 3);»). Самое страшное, что в других файлах работает тот же код (определяющий тот же атрибут).
В этом файле есть и другие ошибки, но упомянутая первая (и другие примерно в той же строке, так что они, я думаю, являются следствием первой).
Я почти новичок в cpp, но нужно использовать только cpp, а не java-версию библиотеки.
Спасибо за вашу помощь и извините за возможное неправильное форматирование и неправильный английский - это мой первый вопрос здесь.