VS如何設定OpenCV靜態編譯

2022-05-03 15:00:19 字數 2574 閱讀 9784

可以使用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...