Як використовувати CMake?


102

Я намагаюся використовувати CMake для компіляції opencv.

Я читаю підручник, але не можу зрозуміти, що таке файли CMakeLists і як він пов'язаний з gui CMake?

Крім того, я не міг зрозуміти, що таке файли, вони ж є CMakeLists?

І який це файл, який я врешті-решт відкриваю із візуальною студією?


Якщо питання стосується Windows, про це слід згадати (можливо, з windowsтегом)
Базиль Старинкевич,

Що стосується CMake 3.13.3, платформи Windows та IDE Visual Studio 2017, я пропоную: wikihow.com/Use-CMake Regards.
Джордж

Відповіді:


30

CMake приймає файл CMakeList і виводить його у специфічний для платформи формат збірки, наприклад, Makefile, Visual Studio тощо.

Ви запускаєте CMake на CMakeList першим. Якщо ви перебуваєте в Visual Studio, ви можете завантажити проект / рішення для виводу.


2
Що таке Makefile? Де я можу знайти файл проекту / рішення для visualstudio?
літальний маатук

3
Після запуску cmake (або CMakeSetup і натискання на створення) ви повинні мати змогу знайти Makefile (якщо unix) або файли проекту десь у дереві проектів. Місце розташування можна вказати в CMakeList. Ось коротка презентація, яку я знайшов у вікі CMake, яка вам може бути корисною: elpauer.org/stuff/learning_cmake.pdf
holtavolt

2
CMake налаштовує весь проект, використовуючи вибраний формат збірки, тобто він встановлює все так, щоб ви могли використовувати, наприклад, Visual Studio для компіляції. За замовчуванням (принаймні на Linux) він робить проект, який використовує Make. Make використовується для фактичного складання проекту, а не для його налаштування та налаштування. Отже, спочатку вам доведеться використовувати CMake для створення проекту, а потім запустіть Make для компіляції та створення матеріалів.
leinaD_natipaC

156

Я не знаю про Windows (ніколи не використовував її), але в системі Linux вам просто потрібно створити каталог збірок (у верхньому каталозі джерел)

mkdir build-dir

зайти всередину нього

cd build-dir

потім запустіть cmakeі вкажіть на батьківський каталог

cmake ..

і нарешті біжи make

make

Зауважте, що це makeі cmakeрізні програми. cmakeє Makefileгенератором, а makeутиліта керується Makefileтекстовим файлом. Перегляньте сторінку cmake та make wikipedia.

Примітка. У Windows cmakeможе працювати, тому його потрібно використовувати по-іншому. Вам потрібно буде прочитати документацію (як я це робив для Linux)


Яка різниця між cmake та make? вони різні програми?
lital maatuk

4
Чудова відповідь; Я не міг зрозуміти, як отримати файли збирання в підкаталозі. Я не розумію, чому офіційна документація цього не згадує.
TheBigB

Це працює в Linux, але в Windows він не працює при виявленні компілятора C / C ++. Будь-які ідеї, як це зробити?
bartlomiej.n

Це залежить від налаштування конкретного комп'ютера. Перевірте правильність вашої PATHзмінної . До речі, я ніколи в житті не використовував Windows (і написав свою першу програму в 1974 році)
Базиль Старинкевич

2
Стільки відгуків і відповідь нічого не говорить про Visual Studio.
Абікс

10

Так, cmake і make - це різні програми. cmakeє (в Linux) генератором MakefileMakefile -s - файли, що управляють makeутилітою). Є й інші генератори Makefile (зокрема, налаштування та автоконкурс тощо). Ви також можете знайти інші програми автоматизації побудови (наприклад, ніндзя ).


Я думаю, це трохи заплутано. cmake - це генератор системи побудови, і однією з речей, яку він може генерувати, є makefiles (як у gnu.org/software/make ). Однак існує багато інших систем, які можуть генерувати, і вони не є "генераторами файлів". Якщо ви запускаєте cmake --help, на macos (і, мабуть, скрізь), це дасть вам довгий список генераторів, які він має. Наприклад, cmake може генерувати проекти Xcode - нічого спільного з make.
Джеймс Мур

0

Щодо CMake 3.13.3, платформи Windows та IDE Visual Studio 2017, я пропоную це керівництво . Якщо коротко, я пропоную:
1. Завантажити cmake>, разархівувати його> виконати.
2. Як приклад завантажте GLFW> розпакуйте його> створіть всередині папки Build .
3. У cmake Огляд "Джерело"> Огляд "Побудова"> Налаштування та створення.
4. У Visual Studio 2017 побудуйте своє рішення.
5. Добери бінарні файли.
З повагою

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.