I got linker error trying to compile this simple code:
#include <opencv2/core/core.hpp>
#include <opencv2/highgui/highgui.hpp>
#include <iostream>
#include <string>
using namespace cv;
int main(int argc, char** argv) {
std::string filename = argv[1];
Mat A;
A = imread(filename);
return 0;
}
Here is the makefile:
CXX=g++
LDFLAGS=`pkg-config --libs opencv`
CXXFLAGS=-Wall -v
CXXFLAGS+=`pkg-config --cflags opencv`
cam_calibration.o : cam_calibration.cxx
$(CXX) $(CXXFLAGS) $(LDFLAGS) cam_calibration.cxx
clean :
rm *.o
The error is following (after issuing "make"):
/tmp/cccbWfsF.o: In function `main':
cam_calibration.cxx:(.text+0x6b): undefined reference to `cv::imread(std::string const&, int)'
collect2: error: ld returned 1 exit status
What is wrong with this code? I'm using Archlinux, g++ (5.2.0) and have all the opencv libraries in version 2.4