vs中使用Opencv靜態庫時出現的問題

2021-10-17 21:56:09 字數 1590 閱讀 5803

seetaface使用時需要用到opencv庫進行讀取。

在vs2019中,根據seetaface的安裝教程,可以正常使用opencv的動態庫(.lib 和 .dll),但是如果換成靜態庫,總是會出現 error lnk2019

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzputs,該符號在函式 "void __cdecl icvputs(struct cvfilestorage *,char const *)"

(?icvputs@@yaxpeaucvfilestorage@@pebd@z) 中被引用

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzgets,該符號在函式 "char * __cdecl icvgets(struct cvfilestorage *,char *,int)"

(?icvgets@@yapeadpeaucvfilestorage@@peadh@z) 中被引用

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzrewind,該符號在函式 "void __cdecl icvrewind(struct cvfilestorage *)"

(?icvrewind@@yaxpeaucvfilestorage@@@z) 中被引用

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzeof,該符號在函式 "int __cdecl icveof(struct cvfilestorage *)"

(?icveof@@yahpeaucvfilestorage@@@z) 中被引用

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzclose,該符號在函式 "void __cdecl icvclosefile(struct cvfilestorage *)"

(?icvclosefile@@yaxpeaucvfilestorage@@@z) 中被引用

opencv_core2413d.

lib(persistence.obj)

: error lnk2019: 無法解析的外部符號 gzopen,該符號在函式 cvopenfilestorage 中被引用

原本 屬性–鏈結器–附加依賴項裡只有

opencv_core2413d.lib

opencv_highgui2413d.lib

opencv_imgproc2413d.lib

共三個lib

現在在此基礎之上新增

ilmimfd.lib

libjasperd.lib

libjpegd.lib

libpngd.lib

libtiffd.lib

zlibd.lib

參考資料

vs2013下使用opencv靜態庫

使用vs2013和opencv進行影象處理程式的開發,當把程式放到一台沒有安裝opencv的電腦上執行的時候,需要重新安裝opencv程式才能執行,這樣會顯得很麻煩,使用opencv提供的靜態鏈結庫可以避免這個麻煩。參考了一些網上的教程,都死通過自己編譯opencv獲取靜態庫的,實際上opencv的...

在Qt中使用opencv庫

查閱了很多的方法,編譯了很多次,發現還是不行。我使用qt5.2.1,vs2010,opencv2.3.1 1.用cmake編譯時候會出現 因為實在改不來這裡說的錯誤,我就試了所有可以用的opencv不同的版本,發現還是會有錯。2.問過同事後發現其實很簡單就可以使用opencv庫 只要在pro檔案中新...

使用openCV的靜態庫編譯

by 少俠阿朱 摘要 本文主要講述如何使用opencv靜態庫進行編譯,生成脫離opencv環境可執行.exe檔案。實現的效果 此方法生成的exe檔案在其他沒有配置opencv環境的電腦上可直接執行。使用到的工具 opencv2.411 vs2013 debug模式下編譯流程如下 首先 專案的debu...