1. 程式人生 > >VS2010+OpenCV 專案生成EXE檔案如何在其他電腦上直接執行

VS2010+OpenCV 專案生成EXE檔案如何在其他電腦上直接執行

我的畢業設計做的是影象處理,是用VS2010+OpenCV完成的,C++&MFC。(我的是64位的,所以前後一致,全部選擇都是64位的,當然也可以是32位的,前後要一致)

專案做完之後,導師建議能不能做成可執行檔案,在其他沒有安裝VS和OpenCV的機子上直接執行,因為之前沒有考慮過這個問題,所以當時只是在自己本地可以執行就行,現在要重新考慮這個問題,中間遇到了很多問題,花費了一個下午和一個晚上的時間,看了很多相關的部落格,終於解決了這個問題,也希望對遇到相關問題的人有所幫助。

準備材料 :VS2010+OpenCV 2.4.10

(1)安裝軟體。安裝VS2010。將下載的OpenCV解壓到D:\opencv。

(2)配置環境變數。計算機>屬性>高階系統設定>環境變數>新建,新建一個使用者變數,如變數名:Path,變數值:D:\opencv\build\x64\vc10\bin。

(3)接下來就是我們正式的工作內容了。

  開啟VS2010,檔案-》新建-》專案-》MFC應用程式,建立Test專案。點選確定,進入MFC應用程式嚮導,點選下一步,勾選“基於對話方塊”“在靜態庫中使用MFC”,取消“使用 Unicode庫 ”。點選完成。

(4)右鍵Test,開啟屬性。

debug模式下:

VC++目錄->包含目錄,編輯,加入D:\opencv\build\include

                                             D:\opencv\build\include\opencv

                                              D:\opencv\build\include\opencv2

VC++目錄->庫目錄,編輯,加入D:\opencv\build\x64\vc10\staticlib(這個很重要)

C/C++->程式碼生成->執行庫,改成“多執行緒除錯(/MTd)”

連結器->輸入->附加依賴項,編輯加入下列項:

vfw32.lib
comctl32.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
IlmImf.lib
opencv_calib3d2410d.lib
opencv_contrib2410d.lib
opencv_features2d2410d.lib
opencv_core2410d.lib
opencv_flann2410d.lib
opencv_gpu2410d.lib
opencv_highgui2410d.lib
opencv_imgproc2410d.lib
opencv_legacy2410d.lib
opencv_ml2410d.lib
opencv_nonfree2410d.lib
opencv_objdetect2410d.lib
opencv_ocl2410d.lib
opencv_photo2410d.lib
opencv_stitching2410d.lib
opencv_superres2410d.lib
opencv_ts2410d.lib
opencv_video2410d.lib
opencv_videostab2410d.lib

Release模式下:

VC++目錄->包含目錄,編輯,加入D:\opencv\build\include

                                             D:\opencv\build\include\opencv

                                              D:\opencv\build\include\opencv2

VC++目錄->庫目錄,編輯,加入D:\opencv\build\x64\vc10\staticlib(這個很重要)

C/C++->程式碼生成->執行庫,改成“多執行緒(/MT)”

連結器->輸入->附加依賴項,編輯加入下列項:

vfw32.lib
comctl32.lib
zlib.lib
libjasper.lib
libjpeg.lib
libpng.lib
libtiff.lib
IlmImf.lib
opencv_calib3d2410.lib     (注意,沒有d)
opencv_contrib2410.lib
opencv_features2d2410.lib
opencv_core2410.lib
opencv_flann2410.lib
opencv_gpu2410.lib
opencv_highgui2410.lib
opencv_imgproc2410.lib
opencv_legacy2410.lib
opencv_ml2410.lib
opencv_nonfree2410.lib
opencv_objdetect2410.lib
opencv_ocl2410.lib
opencv_photo2410.lib
opencv_stitching2410.lib
opencv_superres2410.lib
opencv_ts2410.lib
opencv_video2410.lib
opencv_videostab2410.lib

點選“應用”,“確定”。

(5)如果大家全部用的是32位,現在就結束了,但是我的全部是64位的,所以還需要新建X64平臺。需要注意一點,如何是64位的,只能執行在64位機子上。

(6) 然後就全部結束了,大家可以嘗試著編寫程式碼了。可以在專案裡面找到Release->Test.exe,拷貝出來,就可以在其他機子上運行了。