項目基本算法已經完成,甲方需要一個可以運行的demo。目前,程序能在自己的電腦上正常運行。移植到其他win7系統上,運行失敗。
尋找各種解決辦法,baidu找到兩個辦法:
1.使用靜態鏈接的方法,這種生成的exe太大,放棄。
2.將對應需要的dll拷貝到exe的執行目錄下,這種雖然文件多,但是易操作,選擇。
我的環境windows7 + Visual Studio 2010 + opencv2.4.7,各種基本的配置省略。
1.打開項目配置頁->c/c++->代碼生成->運行庫,設置成多線程調試DLL(/MD)(release版的程序選擇MD,這一步是為了添加程序運行需要的運行庫)
2.F7生成exe,然后把對應的dll庫拷貝到exe的文件夾下面。將此文件夾作為一個整體發送給甲方。(具體需要拷貝哪些dll庫可以使用visual studio的dependents查看,方法如下)
使用dependents查看exe所需要的dll庫:
1.開始->所有程序->Microsoft Visual Studio 2010 ->Visual Studio Tools->Visual Studio 2010 命令提示.
2.跳轉到exe所在根目錄下,輸入dumpbin /dependents stabilization_KLT.exe,就會有如圖所示結果。
我們需要添加libgsl.dll和四個opencvdll庫,除此還需額外添加opencv_ffmpeg247.dll,不然總提示讀取視頻失敗。下面的幾個DLL文件在上面步驟一修改運行時庫就已經添加了。
實測在其他win7中可以正確運行。