Вот Makefile я использую:C++ Makefile проблема с удалением неиспользуемых LIBS
CFLAGS = `pkg-config --cflags opencv`
LIBS = `pkg-config --libs opencv`
% : %.cpp
g++ -lX11 -lcurl $(CFLAGS) $(LIBS) -o [email protected] $<
Теперь мне не нужно больше OpenCV, удаление OpenCV из Makefile ISNT создает каких-либо проблем, однако если удалить Входящие в комплект OpenCV ЛИЭС
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
а, я получаю следующее сообщение об ошибке компилятора:
KneckPrint.cpp: In function ‘std::__cxx11::string ProcessData(std::__cxx11::string)’:
KneckPrint.cpp:33:50: error: cannot convert ‘std::__cxx11::basic_string<char>::iterator {aka __gnu_cxx::__normal_iterator<char*, std::__cxx11::basic_string<char> >}’ to ‘const char*’ for argument ‘1’ to ‘int remove(const char*)’ temp.erase(remove(temp.begin(), temp.end(), '\\'), temp.end());
make: *** [makefile:5: KneckPrint] Error 1
водослива d вещь компилируется просто отлично без opencv в makefile, но библиотеки включены.
В чем проблема «компилятора»? Пожалуйста, предоставьте [mcve], по крайней мере, определенные ошибки, которые вы видите. – Barry
KneckPrint.cpp: В функции 'std :: __ cxx11 :: string ProcessData (std :: __ cxx11 :: string)': KneckPrint.cpp: 33: 50: error: невозможно преобразовать 'std :: __ cxx11 :: basic_string: : iterator {aka __gnu_cxx :: __ normal_iterator >} 'to' const char * 'для аргумента' 1 'to' int remove (const char *) ' temp.erase (удалить (temp.begin(), temp.end(), '\\'), temp.end()); ^ make: *** [makefile: 5: KneckPrint] Ошибка 1 --- Я надеюсь, что это можно прочитать –
user273032
Эта ошибка не имеет ничего общего с opencv или make-файлами, вы просто передаете неправильные аргументы функции. – Barry