Makefile для компиляции кода OpenCV на C++ в Ubuntu/Linux

Я изучаю OpenCV по книге Learning OpenCV.

Одна проблема, с которой я столкнулся при компиляции кода, заключается в том, что мне нужно написать длинную команду для компиляции и получения исполняемого файла.

Это команда, которую я использую

g++ `pkg-config –cflags opencv` file_name.cpp -o output_file `pkg-config –libs opencv`

Я не эксперт по Make, но я думаю, что могу избежать написания этой длинной команды с помощью make. Перед этим я должен объяснить свой рабочий процесс. Я создал каталог с именем opencv в своем домашнем каталоге ( ~/opencv/). Я читаю книгу раздел за разделом и кодирую примеры или упражнения в новые файлы исходного кода cpp в этом каталоге. Так что я не знаю заранее имена файлов.

Теперь я хочу, чтобы make сделал следующее:

Предположим, я закодировал новый файл с именем facetect.cppв моем каталоге opencv, и если я вызову make следующим образом:

make facedetect

затем я хочу, чтобы make выполнял для меня следующую команду

g++ `pkg-config --cflags opencv` facedetect.cpp -o facedetect `pkg-config --libs opencv`

, чтобы всякий раз, когда я создаю новый файл с именем abc.cpp, я выполнял make abc так что я могу запустить

$ ./abc

в своей командной строке, чтобы проверить мой abc.cpp

Пожалуйста, дайте этот make-файл, чтобы я мог избавить меня от необходимости каждый раз вводить эту длинную команду.

PS: я искал помощь в Google и нашел этопо использованиюCMake , но я не мог понять, что это делает. Пожалуйста, также объясните, как я могу использоватьCMakeдля той же задачи.

18
задан Pranit Bauva 4 December 2015 в 14:59
поделиться