Eclipse - undefined reference to opencv_core opencv_imgproc opencv_highgui opencv_objdetect

Eclipse - undefined reference to opencv_core opencv_imgproc opencv_highgui opencv_objdetect

1. Build Failed

**** Incremental Build of configuration Debug for project webcam_NCS ****
make all 
Building target: webcam_NCS
Invoking: GCC C++ Linker
......
undefined reference to cv::VideoCapture::open(int)
undefined reference to cv::VideoCapture::release()
undefined reference to cv::VideoCapture::read(cv::Mat&)
undefined reference to cv::resize(cv::_InputArray const&, cv::_OutputArray const&, cv::Size_<int>, double, double, int)
undefined reference to cv::waitKey(int)
undefined reference to cv::VideoCapture::VideoCapture()
undefined reference to cv::VideoCapture::~VideoCapture()
undefined reference to cv::fastFree(void*)
......

2. Build Project
Project -> Properties -> C/C++ Build -> Settings -> GCC C++ Linker -> Libraries
Libraries (-l): opencv_core opencv_imgproc opencv_highgui opencv_objdetect
Library search path (-L)

opencv_core opencv_imgproc opencv_highgui opencv_objdetect 庫不是 Linux 系統默認的庫,連接時需要使用 opencv_core opencv_imgproc opencv_highgui opencv_objdetect。
源文件要包含頭文件,在編譯中要加 -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect 參數。

#include "opencv2/highgui/highgui.hpp"
#include "opencv2/imgproc/imgproc.hpp"
#include "opencv2/objdetect/objdetect.hpp"

在這裏插入圖片描述

3. Build Project

4. compile.sh

#!/bin/bash

VIDEOIO=`pkg-config --libs opencv | grep "lopencv_videoio"`
if [ "$VIDEOIO" == "" ]
then
    echo "no videoio library"
    g++ -std=c++11 cpp/gender_age_lbp.cpp cpp/fp16.c -o cpp/gender_age_lbp -L/usr/local/lib -lmvnc -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect
else
    echo "found videoio library"
    g++ -std=c++11 cpp/gender_age_lbp.cpp cpp/fp16.c -o cpp/gender_age_lbp -L/usr/local/lib -lmvnc -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect -lopencv_videoio
fi
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章