использованием библиотеки OpenCV и компилятора g++, ide vscode.
Проблема заключается вот в этой надписи QSocketNotifier: Can only be used with threads started with QThread
Компилирую я таким образом g++ -pthread chapter4.cpp -o app pkg-config --cflags opencv4 pkg-config --libs opencv4 -lrt -lpthread (это одна из версий)
Как это решить? В своем коде я не использую QThread, и даже намека на использовании нет
У меня fedora 39
В ПРОЕКТЕ НЕ ИСПОЛЬЗУЕТСЯ QThread, и она там не нужна!
Вероятно OpenCV, которую вы используете, собрана с поддержкой Qt для рисования GUI в модуле highgui.
В Fedora пакет как-раз с Qt - https://packages.fedoraproject.org/pkgs/opencv/opencv-core/fedora-39.html#dependencies
Спасибо. Причина кстати была в одной коварной строке, которой не было, waitKey(0);
Не совсем по вопросу компилляции, но сталкивался с проблемой, когда код вдруг начинал ругаться на отсутствие поддержки QT. Происходило, когда какой-то модуль притаскивал за собой opencv-python-headless. Лечилось удалением opencv-python-headless и переустановкой opencv-python: pip uninstall opencv-python-headless pip install --upgrade --force-reinstall opencv-python
Во, я как раз старался не подцепить ничо пайтоновского, спасибо за совет
Надо смотреть в переменные окружения, очевидно они где-то переопределятся и возможно либы обновляются к несовместимым версиям с вашим добром
Обсуждают сегодня