Сейчас я коряво и на коленке покажу, как с помощью консоли и компилятора обойтись без IDE в Linux для C++. Сразу оговорюсь, что это создано для простых примеров, без каких-либо причуд и необходимости использования make-файлов. Так, в качестве записки.Хотя, для нужд простого консольного проекта - за глаза =)
Нам необходим компилятор С++, который устанавливается в той же Linux Ubuntu командой:
sudo apt-get install g++
Затем, я создаю папку ~/dev. Внутри нее структура такова:
- ~/dev/src для хранения файлов исходного кода (*.cpp) и заголовочных файлов (*.h)
- ~/dev/obj для хранения скомпилированных, но не связанных объектных файлов (*.o), они получаются из одноименных *.cpp
- ~/dev/build здесь появится готовый собранных бинарный файл нашей программы.
mkdir ~/dev && mkdir ~/dev/src && mkdir ~/dev/obj && mkdir ~/dev/build
Теперь мы напишем bash-скрипт, который будет делать такие шаги:
- Компилировать исходные файлы (*.cpp) из ~/dev/src в объектные файлы (*.o) в ~/dev/obj
- Собирать объектные файлы (*.o) из ~/dev/obj в готовый исполняемый файл в ~/dev/build
- Очистить папку объектных файлов ~/dev/obj
Создаем файл скрипта командой:
cat > ~/dev/compile
Вводим следующий текст:
#!/bin/bash
# Этап 1 Компиляция
cd ~/dev/src/ &&
g++ -c *.cpp &&
# Этап 2 Связывание
mv *.o ~/dev/obj/ &&
cd ~/dev/obj/ &&
g++ *.o -o ~/dev/build/result &&
# Этап 3 Очистка
rm -f ~/dev/obj/* &&
echo 'Compilation succesful!'
Файл скрипта необходимо сделать исполняемым командой:
chmod a+x ~/dev/compile
Теперь можно вызывать скрипт ./compile
(находясь в папке ~/dev/).
При успешном выполнении всех команд (они связаны оператором "&&", т.е. последующий выполняется только при удачном завершении предыдущего) отображается текст "Compilation succesful!". Можно переходить в папку ~/dev/build и запускать готовый исполняемый файл result.
В целом алгоритм следующий:
- Кладем файлы исходных кодов в ~/dev/src/
- Запускаем компиляцию скриптом ~/dev/compile
- Запускаем на выполнение готовую программу ~/dev/build/result
Комментариев нет:
Отправить комментарий