Я пытаюсь скомпилировать программу на C ++, которая включает OpenCV. Я хочу использовать pkg-config, чтобы упростить компиляцию. Однако это не работает из-за того, что pkg-config -libs opencv возвращает местоположения библиотеки, а не сами библиотеки. Я получил:
/usr/local/lib/libopencv_calib3d.so /usr/local/lib/libopencv_contrib.so
/usr/local/lib/libopencv_core.so /usr/local/lib/libopencv_features2d.so
/usr/local/lib/libopencv_flann.so /usr/local/lib/libopencv_gpu.so
...
Пока я ожидаю что-то вроде
-L/usr/local/include/ -lopencv_contrib -lopencv_features2d ...
Я что-то напортачил? Если нет, то почему это произошло? И можно ли это исправить?
Вывод pkg-config правильный.
Компоновщик GNU (ld) (я не знаю, другие тоже) позволяет вам писать библиотеки с полным путем, без -L или -l, в дополнение к обычным опциям -L и -l.
Ошибка должна быть в каком-то другом месте.
Других решений пока нет …