轉載請注明出處:
http://www.cnblogs.com/sysuzyq/p/6183568.html
By 少俠阿朱
摘要:
本文主要講述如何使用opencv靜態庫進行編譯,生成脫離opencv環境可執行.exe文件。
實現的效果:
此方法生成的exe文件在其他沒有配置openCV環境的電腦上可直接執行。
使用到的工具:
openCV2.411
VS2013
debug模式下編譯流程如下:
首先:項目的debug屬性表
修改框中項目“$(OPENCV)\x86\vc12\lib;$(LibraryPath)”為靜態庫位置“$(OPENCV)\x86\vc12\staticlib;$(LibraryPath)”
其次:“C/C++”-“代碼生成”-“運行庫”改為“多線程調試 (/MTd)”,這個'd'表示debug模式。
然后:“連接器”-“輸入”-“附加依賴項”中,在最開頭加入:
IlmImfd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
zlibd.lib
libjasperd.lib
libjpegd.lib
libpngd.lib
libtiffd.lib
zlibd.lib
最后:
重新生成解決方案。記得選擇debug模式。
則編譯成功。
release模式下編譯流程如下:
修改release的屬性表
大家發現這一項是和debug屬性表共享的,已經是“staticlib”:
然后大家會發現運行庫這一項也是共享的,之前設置為“MTd”,現在我們需要改為“MT”。切記這里改了,則編譯的時候一定要release模式,不然出錯
然后是:
“連接器”-“輸入”-“附加依賴項”中,在最開頭加入:
IlmImf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib
注意這里和debug模式的不同,所有庫都是沒有'd'結尾的。
最后:編譯選擇release模式。
編譯通過。成功生成release版本的exe