Компиляция и запуск проекта CLion из терминала - PullRequest
0 голосов
/ 13 февраля 2019

Я пытаюсь создать общедоступные инструкции по компиляции и запуску для моего проекта CLion, но не могу найти точную терминальную команду, которую он использует для выполнения программы (я бы предположил, что это make-файл).Как мне сделать это из каталога проекта в терминале?

Каталог выглядит так:

file dir

Ответы [ 2 ]

0 голосов
/ 29 марта 2019

Я добавлю немного к отличному ответу @Stanley F.

ИЗ корня проекта CLion, это то, что мне подходит.Я обычно работаю с отладочным профилем.То же самое можно воспроизвести для релиза.

Когда cmake загружает свой проект, он запускает

cmake -Bcmake-debug-build -H. ${CMakeOptions}

, где CMakeOptions хранится в CLion на

CLion->settings->Build,Execution, Deployment->CMake->[profile]->CMake Options

Мой общий cmakeопция сборки

-DCMAKE_BUILD_TYPE=debug -DSYTEM_ARCH=Linux-gcc5.3.0-x86_645 -CMAKE_CXX_STANDARD=14

[Обратите внимание на строчную букву d для 'debug'.Если я не использую это, моя система не будет работать.Мне бы хотелось, чтобы CLion не использовал по умолчанию «Debug»]

Итак, чтобы воспроизвести то, что CLion создает при перезагрузке проекта, я запускаю

rm -rf cmake-debug-build  
cmake -Bcmake-debug-build -H. -DCMAKE_BUILD_TYPE=debug -DSYTEM_ARCH=Linux-gcc5.3.0-x86_645 -CMAKE_CXX_STANDARD=14

Затем, чтобы построить проект, я запускаю

cmake --build cmake-build-debug --target all

Обратите внимание, что когда я запускаю первую команду cmake (из CLion или из командной строки), cmake извлекает множество библиотек из других «прецедентных» проектов в рамках обработки моего файла CMakeLists.txt.,Если что-то в одном из этих прецедентных проектов изменится, я не буду извлекать их заново, если я физически не удалю весь каталог cmake-build-debug /.Ни один из пунктов меню инструмента сброса CLion из моего опыта не удалит этот файл.

Если я запускаю эти команды из меню CLion, то мне также нужно физически удалить каталог cmake-build-debug / (еслиУ меня есть изменения в одной из внешних библиотек, которые я хочу добавить).

0 голосов
/ 14 февраля 2019

CLion в настоящее время поддерживает только проекты CMake.Поэтому вам нужно вызвать исполняемый файл CMake с соответствующими параметрами для вашего проекта.

Сначала вы можете удалить папку cmake-build-debug, так как она автоматически генерируется CLion, который сам вызывает CMake.Он содержит только временные файлы.

Таким образом, ваша среда сборки в основном содержит файлы 3DTable.c, 3DTable.h и CMakeLists.txt.По крайней мере, это то, что я получаю из скриншота.

Чтобы построить проект из командной строки, сначала перейдите в исходный каталог.Затем вызовите CMake:

cd <source path of Project_1>
cmake -Bbuild -H.
cmake --build build --target all

Примечания:

  • build - это каталог, в котором CMake будет генерировать временные файлы и артефакты сборки.
  • Опция -H. сообщает CMake, где находится файл CMakeLists.txt, который в данном случае является текущим рабочим каталогом.
  • Библиотека / исполняемый файл для вашего проекта будет находиться вbuild каталог
...