В настоящее время я пытаюсь использовать общую библиотеку Tensorflow в проекте, отличном от bazel, поэтому я создаю файл .so из shadoworflow с помощью bazel.Конфликт Протобуф-версия при использовании Opencv и Tensorflow C++
, но когда я запускаю C++ программы, которая использует как OpenCV и Tensorflow, он делает мне следующую ошибку:
[libprotobuf СМЕРТЕЛЬНЫМ внешним/Protobuf/SRC/Google/Protobuf/штыри/common.cc: 78] Эта программа была скомпилирована против версии 2.6.1 библиотеки времени исполнения протокола Buffer, которая несовместима с установленной версией (3.1.0). Обратитесь к автору программы за обновлением. Если вы сами скомпилировали программу, убедитесь, что ваши заголовки из той же версии протокольных буферов, что и ваша библиотека времени ссылок. (Ошибка верификации версии в "/build/mir-pkdHET/mir-0.21.0+16.04.20160330/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".) завершение вызова после бросания экземпляра of 'google :: protobuf :: FatalException'
what(): Эта программа была скомпилирована против версии 2.6.1 библиотеки времени выполнения протокола Buffer, которая несовместима с установленной версией (3.1.0). Обратитесь к автору программы за обновлением. Если вы сами скомпилировали программу, убедитесь, что ваши заголовки из той же версии протокольных буферов, что и ваша библиотека времени ссылок. (Ошибка верификации версии в "/build/mir-pkdHET/mir-0.21.0+16.04.20160330/obj-x86_64-linux-gnu/src/protobuf/mir_protobuf.pb.cc".) Отказ (сбрасываемый сердечник)
Вы можете мне помочь?
Спасибо
Что на самом деле не ясно об этом сообщении? –
проблема, даже если я пытаюсь установить версию 3.1.0, я все равно получаю ту же ошибку –
*** Эта программа была скомпилирована против версии 2.6.1 библиотеки времени выполнения протокола Buffer, которая несовместима с установленной версией (3.1.0). Обратитесь к автору программы за обновлением. *** Вы перекомпилировали библиотеку, используя protobuf 3.1.0 ?? –