可以使用opencv提供的靜態鏈結庫也可以自己編譯靜態鏈結庫.
1 使用opencv提供的靜態鏈結庫,位置如下圖.
首先設定vs配置.有如下幾個配置
1 工具->選項->專案和解決方案->vc++目錄->包含目錄.配置圖中的opencv243那3項.
2工具->選項->專案和解決方案->vc++目錄->庫檔案
加入完是這個樣子
這裡之所以要全部加如而沒有用哪個再加入哪個是由於全加入比較方便.屬於傻瓜配置.可以複製下面的.
這是debug的
ilmimfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
opencv_calib3d243d.lib
opencv_contrib243d.lib
opencv_core243d.lib
opencv_features2d243d.lib
opencv_flann243d.lib
opencv_gpu243d.lib
opencv_highgui243d.lib
opencv_imgproc243d.lib
opencv_legacy243d.lib
opencv_ml243d.lib
opencv_nonfree243d.lib
opencv_objdetect243d.lib
opencv_photo243d.lib
opencv_stitching243d.lib
opencv_ts243d.lib
opencv_video243d.lib
opencv_videostab243d.lib
zlibd.lib
這是release的
ilmimf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
opencv_calib3d243.lib
opencv_contrib243.lib
opencv_core243.lib
opencv_features2d243.lib
opencv_flann243.lib
opencv_gpu243.lib
opencv_highgui243.lib
opencv_imgproc243.lib
opencv_legacy243.lib
opencv_ml243.lib
opencv_nonfree243.lib
opencv_objdetect243.lib
opencv_photo243.lib
opencv_stitching243.lib
opencv_ts243.lib
opencv_video243.lib
opencv_videostab243.lib
zlib.lib
dbghelp.lib
我在設定工程中遇到了下面幾個問題
問題1如下
解決方法: 專案屬性->配置屬性->常規->mfc的使用. 設定為 「使用標準windows庫」.
這個是因為靜態庫這個設定應該和你的專案設定一致.
問題2.提示下面的warning
這個warning 我採用 ##pragma warning(disable : 4996) ,但是去不掉.不知道為什麼.當然你不能debug進入opencv原始碼中. 所以後來我採用了下一種方法.
問題3: 提示找不到一些庫.如下圖
解決方法: 增加** #pragma comment( lib, "vfw32.lib" ) 和 #pragma comment( lib, "comctl32.lib" )
2 自己編譯靜態鏈結庫.編譯完是下圖的樣子.
工具: cmake-gui.exe
具體方法我參考了這個博文
同樣還有圖.
要注意去掉build_shared_libs.這樣生成的才是靜態庫.
工程設定只有下圖一點不同,庫檔案路徑變了.注意要增加3rdparty庫這個路徑.
VS 設定靜態編譯
vs2015 在debug模式下邊的 exe檔案只能在本機執行,若需要在其他pc上正常執行,需要編譯 待靜態庫的 release版本,如下 需要發布程式先在工具欄的某個顯示著 debug 的combobox裡切換到release配置 專案屬性 配置屬性 常規 mfc的使用 使用標準windows庫 ...
VS靜態編譯設定
首先必須搞清楚專案 專案屬性 配置屬性 c c 生成 執行庫中四個選項的關係 多執行緒除錯dll mdd 對應 md dynamicdebug 多執行緒dll md 對應 md dynamicrelease 多執行緒 mt 對應 md staticrelease 多執行緒 mtd 對應 md sta...
VS2015靜態編譯設定
首先必須搞清楚專案 專案屬性 配置屬性 c c 生成 執行庫中四個選項的關係 多執行緒除錯dll mdd 對應 md dynamicdebug 多執行緒dll md 對應 md dynamicrelease 多執行緒 mt 對應 md staticrelease 多執行緒 mtd 對應 md sta...