Кнута нужно прочесть, но после остальных книжек.
Но не увлекаясь. Мы не математики, которые готовы положить жизнь на решение гениальной проблемы, с 99.99% шансом, за жизнь ничего не сделать, нам надо алгоритмы для практического применения знать, а не языком Кнута говорить.
Александр Ананьев, Все, вопрос решился благодаря 2 комментарию в этом ответе https://stackoverflow.com/questions/69232278/c-pro...
In my case it was enough: Go to your opencv folder, find the file \opencv\sources\3rdparty\protobuf\src\google\protobuf\stubs\mutex.h and delete the line after the first else at the WrappedMutex class,
Я закоментил 1 строку //constexpr WrappedMutex() {} // **Delete this line** и все скомпилировалось и наконец то научился свободно пользоваться Cmake, 3 недели убил...
При сборке нужно только флаг With_QT, With_Opengl и адрес Extra модулей(Если вам конечно Cuda и тд не нужна)
и все собралось 7.3.0
Данная ошибка появляется при сборке OpenCV С экстра модулями, когда стоит флаг
-DBUILD_PROTOBUF=ON и
-DWITH_PROTOBUF=ON,
при сборке Protobuf отдельно это решилось изменением версии protobuf, также protobuf стоит на компьютере и установлен в переменные среды. (Так же я удалял Protobuf из переменных среды, ничего не поменялось, как я понял cmake наоборот должен взять уже готовый protoc из PATH, а не собирать из исходников в openCV)
Я пытался взять уже готовый установив флаги
-DBUILD_PROTOBUF=OFF
-DPROTOBUF_UPDATE_FILES=ON
DWITH_PROTOBUF=ON
Но тогда dnn отключается из за проблемы совместимости.
Спасибо, что помогаете, может можно как то по другому вставить свою версию protobuf или я не те флаги поставил, хотя для protobuf их там всего 3.
Александр Ананьев, Ситуация интереснее оказалось, когда я поменял сборку с 8 процессоров на 1, ошибка изменилась, теперь указывает на проблему сборки Protobuf с Gcc.7.3.0
libwebp собрался.
Просто я за 2 недели раз 30 собирал, от количества советов голова кружится+ вот эти непредсказуемые ошибки.
Да следовал, но так сказать я себе этот план не составлял, жизнь заставила.
Update Не забывайте про отдых, ресурсы любого организма ограничены и истощаются годами, потом возвращать придется тоже годами.(Это если вы молодой, после 40 можно вообще не вернуть)
Написано
Войдите на сайт
Чтобы задать вопрос и получить на него квалифицированный ответ.
Но не увлекаясь. Мы не математики, которые готовы положить жизнь на решение гениальной проблемы, с 99.99% шансом, за жизнь ничего не сделать, нам надо алгоритмы для практического применения знать, а не языком Кнута говорить.