iT邦幫忙

0

[請教] 開發程式於win7 x64 無法執行, 卻在 win7 x86 卻可以? (己解決)

日前使用.NET 開發了程式, 做成執行檔.
使用者在多台電腦上執行, 卻發現有的電腦可以順利開啟程式執行,
有的卻不行, 短暫在工作管理員上看見正在執行, 又瞬間消失, 好像什麼都沒發生一樣.

開發的應用程式主要功能是做人臉辨識,
使用C#語言和EmguCV 2.9的dll
所用到的dll檔都和執行檔於在同一個目錄下.

原來想說會不會是因為x86 x64的不同, 所以無法執行,
但我自己的電腦是win10 x64 卻可以順利執行.

實在有些疑惑, 不知該從何下手處理, 請教各位先進,
有沒有什麼建議 能讓後輩能著手處理目前的狀況呢?

--
經測試以及在不同電腦上重新編譯專案, 發現是EmguCV 的dll 檔找不到.
在原執行檔的目錄下, 有附上專案相關的動態連結函式庫(dll)
在win7_x86, 系統執行時能夠抓到所附的dll檔, 但win7_x64卻無法,
後來是直接下載了EmguCV 函式庫並安裝, 設定好環境變數, 重新開機後,
問題就解決了. ps 第一次開啟程式會有點慢~ (murmur~)

--
謝謝各位前輩的指點!

看更多先前的討論...收起先前的討論...
allenlwh iT邦研究生 5 級 ‧ 2018-09-12 14:07:37 檢舉
使用者的電腦上未安裝.net framework或者安裝的版本不對?
Joyce Q. iT邦新手 5 級 ‧ 2018-09-12 14:55:28 檢舉
3台電腦都是使用.NET framework 4.5
marlin12 iT邦新手 3 級 ‧ 2018-09-12 19:23:00 檢舉
@ppqboss:
可以嘗試在[命令提示視窗]裏跑你的程式,可能有些[錯誤信息]出來。
如果還是不成,可以在源代碼的不同位置,用Console.Writeline()去追踪程式跑到那裏。
這裏有WinForm出信息到console的方法。
http://www.csharp411.com/console-output-from-winforms-application/
zivtor iT邦新手 4 級 ‧ 2018-09-14 18:28:18 檢舉
確認一下這幾台電腦的DirectX版本與顯示驅動(Intel?Nvidia?AMD?)
交叉測試一下

1 個回答

0

應該是記憶體效能問題吧,x64 跟 x86的支援不一樣…

marlin12 iT邦新手 3 級 ‧ 2018-09-12 21:16:41 檢舉

跟著鄉民看熱鬧
但是它可以在Win10 x64裏跑,為何在Win7 x64不成?!
[人臉辨識]對圖像處理和記憶體有一定的要求,可能跟directX和記憶體限制有關,但是在Win7 x86又可以跑。又不是x64和x86程式庫的問題,還有什麽可能性呢?

直接在Win7 x64環境跑debug就知道問題了

我要發表回答

立即登入回答