Итак. Я его победил. Необходимо было в CMake поставить галочку Agvanced и в появившемся пункте CMAKE_MAKE_PROGRAM прописать путь к mingw32-make.exe. Потом правда он ругался на отсутствие .dll и пришлось временно прописать папку bin компилятора в PATH (вероятно не редактируя PATH можно, если запустить cmake-gui через Qt-шную консоль). Далее все пошло по плану. Теперь возникло ещё несколько вопросов. В той папке куда все собралось есть папки bin, lib и include. Вполне ожидаемо в bin лежат .dll, в lib лежат .a (тут я рассчитывал увидеть .lib но интернет говорит что это тоже статические библиотеки), а вот в include почему то ни чего кроме .cmake. Есть ещё папка install где есть свои bin, lib и include и там те-же самые .dll и .a (только в меньших количествах) в include всё-таки лежат долгожданные .h и .hpp. Вот первые вопросы. Такая странная организация это просто особенности работы CMake и/или MinGW? Я прав когда решил что главнее то что в install и в проекте прописывал пути именно туда? Может всё остальное, кроме папки install, вообще можно поудалять? Тестовые программки работают НО просят .dll даже когда я в проекте указываю только пути к .a файлам. Я как-бы ожидал что статические библиотеки будут и линковаться соответственно статически. Эти самые .a-файлы заметно меньше весят нежели их .dll-братья с теми же названиями и подозрительно называются по шаблоку libopencv_%название%310.dll.a. Я прав предполагая что .a не настоящие статические библиотеки а что-то типа ссылок на .dll присутствующие там вероятно ради совместимости с C(без плюсов)?
|