Opencv empfiehlt, dass man CMake als Buildsystem verwendet.
Eine einfache CMakeLists.txt dazu sieht so aus:

Code:
cmake_minimum_required(VERSION 2.8)
project( DisplayImage ) 
find_package( OpenCV REQUIRED )
include_directories( ${OpenCV_INCLUDE_DIRS} )
add_executable( DisplayImage DisplayImage.cpp )
target_link_libraries( DisplayImage ${OpenCV_LIBS} )
http://docs.opencv.org/3.1.0/db/df5/...gcc_cmake.html

Bei Project trägt man den Namen des Projects ein.
Bei Add Executable trägt man 1. Den Namen der ausführbaren Datei ein die bei rauskommen soll und 2. Alle cpp Files die verwendet werden soll um diese Executable zu bauen.
Bei TargetLinkLibraries trägt man 1. Den Namen der Executable ein und 2. Alle Libraries gegen die man linken will.
OpenCV wird automatisch durch
find_package( OpenCV REQUIRED ) gefunden.