Não é possível encontrar o OpenCV durante a vinculação (compilar da origem)

5

Eu estou tentando compilar qgifer-0.2.1-source de sua fonte em Ubuntu. Eu tenho todas as dependências instaladas. Eu estou compilando como por instruções abaixo de readme da fonte.

cd qgifer_source_dir
mkdir build && cd build
cmake .. -DCMAKE_INSTALL_PREFIX="/usr/local/" -DQUIET_MODE=ON
make
sudo make install

Tudo correu bem, incluindo compilações e criação de obj, mas quando começa a vincular, o arquivo frameplayer.cpp falhou.

Parece ser um problema com o pacote OpenCV. Eu instalei o OpenCV de acordo com a instrução .

Detalhes do OpenCV:

$ pkg-config opencv --libs
-L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core -lopencv_hal 

O cabeçalho do arquivo de erro frameplayer.cpp contém:

#ifndef FRAMEPLAYER_H
#define FRAMEPLAYER_H

#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>

O OpenCV é instalado no meu sistema assim:

a) contém os arquivos de configuração do cmake para o OpenCV

/usr/local/share/OpenCV

b) os arquivos hpp (core, highgui ..) estão presentes em

/usr/local/include/opencv2

Eu tentei mas não funcionou

a) reinstale o openCV

b) configure a fonte novamente alterando o arquivo de cabeçalho com o caminho completo do arquivo hpp e faça

Qualquer ajuda seria apreciada.

Detalhes do erro:

arindam@arindam-sandbox:~/Downloads/qgifer-0.2.1-source/build$ sudo make
[  1%] Generating qrc_res.cxx
[  3%] Generating src/moc_frameplayer.cxx
[  4%] Generating src/moc_previewwidget.cxx
[  6%] Generating src/moc_mainwindow.cxx
..............
..............
[ 96%] Building CXX object CMakeFiles/qgifer.dir/src/moc_interpolationdialog.cxx.o
[ 98%] Building CXX object CMakeFiles/qgifer.dir/src/moc_textobject.cxx.o
[100%] Building CXX object CMakeFiles/qgifer.dir/qrc_res.cxx.o
Linking CXX executable qgifer
CMakeFiles/qgifer.dir/src/frameplayer.cpp.o: In function 'FramePlayer::FramePlayer(QWidget*)':
frameplayer.cpp:(.text+0x984): undefined reference to 'cv::VideoCapture::VideoCapture()'
frameplayer.cpp:(.text+0xddf): undefined reference to 'cv::VideoCapture::~VideoCapture()'
CMakeFiles/qgifer.dir/src/frameplayer.cpp.o: In function 'FramePlayer::~FramePlayer()':
frameplayer.cpp:(.text+0xf07): undefined reference to 'cv::VideoCapture::~VideoCapture()'
CMakeFiles/qgifer.dir/src/frameplayer.cpp.o: In function 'FramePlayer::~FramePlayer()':
frameplayer.cpp:(.text+0xf77): undefined reference to 'cv::VideoCapture::~VideoCapture()'
CMakeFiles/qgifer.dir/src/frameplayer.cpp.o: In function 'FramePlayer::nextFrame()':
..............
mainwindow.cpp:(.text+0x6f8c): undefined reference to 'cv::VideoCapture::isOpened() const'
mainwindow.cpp:(.text+0x7139): undefined reference to 'cv::VideoCapture::get(int) const'
collect2: error: ld returned exit 1 status
CMakeFiles/qgifer.dir/build.make:1123: recipe for target 'qgifer' failed
make    [2]: ***     [qgifer] Error 1
CMakeFiles/Makefile2:60: recipe for target 'CMakeFiles/qgifer.dir/all' failed
make    [1]: ***     [CMakeFiles/qgifer.dir/all] Error 2
Makefile:136: recipe for target 'all' failed
make: ***     [all] Error 2
    
por arindam 12.12.2015 / 07:20

0 respostas