inclua todas as suas bibliotecas no último.
por exemplo.
g++ -I/usr/include/opencv main.cpp -o main -lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_ml -lopencv_video -lopencv_features2d -lopencv_calib3d -lopencv_objdetect -lopencv_contrib -lopencv_legacy -lopencv_flann
Ele resolve os símbolos quando encontra bibliotecas na mesma sequência em que está escrito na linha de comando.