我对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