Кажется, что с QTCreator и CMake происходит странное поведение.
Я создаю приложение opencv и использую те же самые файлы и систему, когда я собираю с помощью CMake, оно приводит к ошибке компоновщика, потому что не может найти определенное определение.Отлично работает с терминала.
Следует также добавить, что у меня установлены две версии библиотеки OpenCV.Один, который был установлен с помощью менеджера пакетов (заголовки существуют в /usr/include
), а другой - локально (заголовки существуют в /usr/local/include
).Они являются разными версиями и имеют некоторые различия в определении функций, одна из которых является причиной вышеуказанной проблемы.
Теперь, после того, как я поместил несколько операторов, чтобы увидеть, что такое путь включения, запускается CMake из QTCreator./usr/include
, тогда как при запуске cmake из командной строки используется /usr/local/include
.
Мне удалось решить эту проблему с помощью минимальной версии (usr/local
- более высокая версия, чем usr/
), но я действительно былЛюбопытно, почему пути поиска поменялись местами.Это то, что я сделал?Некоторая переменная env?