2013-05-08 1 views
0

Я пытаюсь скомпилировать программу на C++, которая включает OpenCV. Я хочу использовать pkg-config, чтобы упростить компиляцию. Однако это не работает из-за того, что pkg-config -libs opencv возвращает местоположения библиотеки, а не сами библиотеки. Я получил:Почему 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 ... 

ли я завинчивающейся что-нибудь? Если нет, то почему это произошло? И можно ли это исправить?

ответ

0

Выход pkg-config правильный.

GNU linker (ld) (я тоже не знаю, если другие) позволяет вам писать библиотеки с полным путем, без каких-либо -L или -l, в дополнение к обычным параметрам -L и -l ,

Ошибка должна быть в другом месте.