使用openCV的靜態庫編譯

2022-09-03 22:18:13 字數 1690 閱讀 2383

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...