Я изучаю 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для той же задачи.