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模式。
然後:「聯結器」-「輸入」-「附加依賴項」中,在最開頭加入:
最後:重新生成解決方案。記得選擇debug模式。
則編譯成功。
release模式下編譯流程如下:
修改release的屬性表
然後大家會發現執行庫這一項也是共享的,之前設定為「mtd」,現在我們需要改為「mt」。切記這裡改了,則編譯的時候一定要release模式,不然出錯
然後是:
「聯結器」-「輸入」-「附加依賴項」中,在最開頭加入:
ilmimf.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
zlib.lib
注意這裡和debug模式的不同,所有庫都是沒有'd'結尾的。
最後:編譯選擇release模式。
編譯通過。成功生成release版本的exe
opencv靜態編譯
在windows下opencv靜態編譯。使用cmake生成visual studio 2015 解決方案如下圖所示 重點看紅色框線裡的內容,先編譯all build,這樣就把所有子專案編譯成功。所有庫都會編譯到build lib目錄下。第三方庫編譯到build 3rdparty lib目錄下。執行編...
gcc編譯使用靜態庫 動態庫
假設已經有可用的liboutprint.a和liboutprint.so.1.0.0可用,則 gcc o hello static l.loutprint hello.cpp gcc o hello l.loutprint hello.cpp export ld library path pwd n...
呼叫OpenCV靜態庫
呼叫靜態庫的好處在於,發布軟體時不需要附帶dll,只需要乙個.exe,但是檔案的體積會比較大。呼叫方法 1 設定專案屬性的目錄,可執行目錄 opencv build x86 vc11 bin,包含目錄opencv build include,庫目錄opencv build x86 vc11 stat...