I need to include my Exiv2 extension in my project using Makefile. I succeeded to run it directly through terminal with:
g++ -std=c++11 test.cpp -I/usr/local/include -L/usr/local/lib -lexiv2
My original Makefile (it works) important part:
COMPILER_FLAGS = -Wall -c -O2 -std=c++11 -fpic -o
LINKER_FLAGS = -shared
LINKER_DEPENDENCIES = -lphpcpp -lopencv_core -lopencv_imgproc -lopencv_highgui \
-lopencv_ml -lopencv_video -lopencv_features2d \
-lopencv_calib3d -lopencv_objdetect \
Now I have to run a program that uses Exiv2 with a Makefile. Now I'm trying to customize the Makefile, tried
COMPILER_FLAGS = -Wall -c -O2 -std=c++11 -I/usr/local/include -L/usr/local/lib -fpic -o
LINKER_FLAGS = -shared
LINKER_DEPENDENCIES = -lphpcpp -lopencv_core -lopencv_imgproc -lopencv_highgui \
-lopencv_ml -lopencv_video -lopencv_features2d \
-lopencv_calib3d -lopencv_objdetect \
-lexiv2 \
Doesn't work, output of make is:
[root@localhost psdk4]# make
g++ -Wall -c -O2 -std=c++11 -I/usr/local/include -L/usr/local/lib -fpic -o metacopy.o metacopy.cpp
metacopy.cpp: In member function ‘int Params::copyMetadata(int, char**)’:
metacopy.cpp:50:9: error: ‘AutoPtr’ is not a member of ‘Exiv2::BasicIo’
Exiv2::BasicIo::AutoPtr fileIo(new Exiv2::FileIo(params.read_));
^
metacopy.cpp:50:33: error: expected ‘;’ before ‘fileIo’
Exiv2::BasicIo::AutoPtr fileIo(new Exiv2::FileIo(params.read_));
...
It means that it doesn't find the Exiv2 methods, how to customize my Makefile?