歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

讓基於OpenCV的程序在別的機子上跑起來-實例

文章主要就以下兩種情況提出解決方法:

情況一:將在自己電腦上可以運行的基於opencv的工程拷貝到別人(主要是老師)電腦上,免去別人對庫文件和目錄文件以及lib的配置。
 
情況二:將在自己電腦上可以運行的基於opencv的程序(exe)拷貝到沒有裝有cv庫的電腦上做演示運行。

一、首先就情況一展示下自己的具體配置過程:配置原理可參考這篇文章 http://www.linuxidc.com/Linux/2013-04/83148.htm。
 
1 將\opencv\build目錄下的include文件夾及\opencv\build\x86\vc10下的bin和lib文件夾拷貝到工程所在目錄(及C++ Project或stdafx.h所在的那一級目錄)。
 
2 添加目錄,為了實現情況一,需要用相對路徑,先相對路徑進行下科普,'.\'代表本級目錄,'..\'代表上級目錄,注意:'\'是VC保留字,所以在你寫程序時要用到'\'時就要用'\\'代替。網絡路徑用'/'。具體的配置如下圖:

Link的配置如往常一樣,只需加入這些常用lib:
 
opencv_nonfree243d.lib
 opencv_legacy243d.lib
 opencv_imgproc243d.lib
 opencv_core243d.lib
 opencv_highgui243d.lib
 opencv_video243d.lib
 opencv_ml243d.lib
 opencv_features2d243d.lib

2 編譯後然後把相應的dll文件放到exe所在目錄就ok了;但如果dll太多,這樣看起來現的很臃腫,想要把dll文件集中的各個不同的文件夾,然後讓程序運行時去選擇,一種方法是設置環境變量,但問題來了,不能說到了老師那裡你再去當場配置環境變量,如果對方沒有相應的庫,更別提會有相應的環境變量設置。
 
解決方法是做如下配置(前提是已經按步驟1將dll所在文件夾bin拷貝到了工程所在目錄):

即,在Environment選項中設置path,這樣也可以使用多個文件夾中的dll。簡潔清晰。
 
3 做了以上配置後就可以編譯運行了。

Copyright © Linux教程網 All Rights Reserved