opencv依賴第三方的庫,所以當把opencv編譯成靜態庫的時候,註意要把它運行時必要的依賴庫也編譯進來,opencv源碼內有自己的3rdparty,主要有:libjpeg、libpng、libtiff、libzlib、libwebp、libprotobuf、ffmpeg(用到video時編譯)、libgtk(用於顯示界面顯示,服務器部署不會用到),可以通過cmake -LA來查看配置的編譯信息,再根據信息考慮把opencv的哪些module編譯進來。
鏈接時指定opencv的靜態庫以及依賴的庫。另外需要註意頭文件的問題,通過CMakeLists把opencv加入項目編譯時,由於opencv編譯完成後要install才會把所用的頭文件集中拷貝到壹個地方,所以事先將頭文件拷貝到了項目的opencv目錄下。