背景:寫了一個有使用opencv、dlib,mysql的程式,把依賴目錄、庫都放在同一個工程里面了,relese版本,設定在靜態庫中使用mfc,代碼生成設定為MT,生成的exe,直接點exe,在自己電腦編譯運行沒問題
把工程整體拷到別的電腦,點擊exe 結果有的能運行,有的就報錯 0000007b。
究竟是少了啥東西嘛,,,,有人知道是缺了啥嘛?
uj5u.com熱心網友回復:
對了,exe運行時怎么找的opencv dlib MySQL 包含目錄,庫檔案的啊,應該和vs工程不一樣吧?uj5u.com熱心網友回復:
https://blog.csdn.net/u010205478/article/details/88682932uj5u.com熱心網友回復:
depends分析exe時得等好好久,然后一堆紅色的看不懂,,,關鍵是有的能運行,有的不能運行,試了幾個電腦,不能運行的3個電腦有兩個沒裝vsuj5u.com熱心網友回復:
報錯就不是缺什么庫的問題了,看代碼,另外你目標電腦是什么系統呢?xp的話需要在C/C++命令列里設定/Zc:threadSafeInit-uj5u.com熱心網友回復:
前提:首先把opencv的bin目錄加入環境變數(貌似還不能太靠后?) / 或者opencv的dll放在exe目錄下。mysql的bin加入環境變數,把他的libmysql.dll拷到exe同目錄下(連接它的資料庫)程序:當把程式在win7跑時,首先說缺少ssleay32.dll,從系統system32檔案夾下拷了一個過來,
接著又說缺少libeay32.dll,又system32拷了過來,然后程式能跑了。
結論:之前同樣錯,于是也拷了這兩檔案,忘了是從哪弄過來的,估計不是x64的,因為會搜到一堆,所以000007b。
獨立運行,正常來說,設定運行時庫為MT 應該就行了,所以如果報這種錯誤就大多是dll的錯誤使用,試著重新加入缺少的dll。
最后雖然能運行,但程式直接停止運行了,不清楚。這個可能是由于程式本身的原因了,比如這個電腦沒裝cuda、cudnn等
uj5u.com熱心網友回復:
確實是缺庫,第一次沒注意拷貝的dll的位置,所以錯了轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/30293.html
標籤:基礎類
