编译opencv C ++文件时未定义的引用

时间:2017-06-17 19:49:20

标签: c++ opencv

我对OpenCV完全陌生,我在编写第一个程序时遇到问题,因为我得到了对每个函数的未定义引用。我在Ubuntu 14.04。我已经搜索了其他类似的问题,解决方案似乎包括imgcodecs库,该库已包含在我的程序中。

这是我遇到的错误 -

kettle@kettle-MacBookPro:~/opencvtutorials$ make
Scanning dependencies of target load_display
[100%] Building CXX object CMakeFiles/load_display.dir/load_display.cpp.o
Linking CXX executable load_display
CMakeFiles/load_display.dir/load_display.cpp.o: In function `main':
load_display.cpp:(.text+0x70): undefined reference to `cv::imread(cv::String const&, int)'

以及许多其他类似的未定义引用。

这是我的CMakeLists.txt,根据教程。

cmake_minimum_required(VERSION 2.8)
project(load_display)
find_package(OpenCV REQUIRED)
add_executable(load_display load_display.cpp)
target_link_libraries(load_display ${OpenCV_LIBS})

这里有load_display.cpp -

#include <opencv2/core.hpp>
#include <opencv2/imgcodecs.hpp>
#include <opencv2/highgui.hpp>
#include <iostream>
#include <string>

using namespace cv;
using namespace std;

int main( int argc, char** argv )
{
    ..code

    image = imread( imageName, IMREAD_COLOR ); // Read the file

    .. more code
}

我正在采取以下步骤来编译和运行我的程序 -

$ cmake .
$ make

0 个答案:

没有答案