天天看點

64位機子,vs2010配置opencv2.4.9遇到問題解決

最近換了64位的主機,準備把之前做過的程式都整理一下,然後遇到這種問題

首先給win7 64為配置opencv2.4.9配置過程就不細說了,可以參考http://wiki.opencv.org.cn/index.php/%E9%A6%96%E9%A1%B5

情況一:

在配置連結庫的時候就都選擇x64檔案下的檔案,但是在vs2010中對應的cv函數識别不出來

這裡需要注意的是雖然系統是64位,但是vs中可能是win32選項的程式,那麼這樣對應的連結庫還是需要是x86的,注意在環境變量中的配置

修改為x86對應環境時程式運作正常

情況二:

修改為x86後,庫函數可以被識别,但是運作的時候出現程式無法正常啟動,錯誤代号0x00007或者别的,這個時候

可以嘗試在環境變量中回複x64的選項,同時把VS2010的屬性改為x64平台

這個修改可以在工程的配置屬性當中進行修改,然後試一下,如果還是不行,就嘗試一下用管理者權限啟動vs

情況三:

VS 2010下 打開執行個體 出現這樣的錯誤:

LINK : fatal error LNK1123: 轉換到 COFF 期間失敗: 檔案無效或損壞

這個問題一般是出在由低版本的工程向高版本工程進行轉換的時候出現的

總結了實踐了一些方法:

VS2010在經曆一些更新後,建立Win32 Console Project時會出“error LNK1123” 錯誤,解決方案為将 項目|項目屬性|配置屬性|清單工具|輸入和輸出|嵌入清單 “是”改為“否”即可,但是沒建立一個項目都要這樣設定一次。

在建立VS2010 Win32 Project項目時,按照上面解決方案依然發生了“error LNK1123”錯誤,經過上網查資料,解決方案為:

第一步:與上相同。

第二步:将 項目|項目屬性|配置屬性|連接配接器|清單檔案|嵌入清單 “是”改為“否”。

第三步:一般計算機經過上兩步設定就能解決問題了,但是如果還有問題,那就按一下方法解決:

計算機是否為64bit作業系統,如是,繼續2。

查找是否有兩個cvtres.exe。一個是C:\Program Files(x86)\Microsoft Visual Studio 10.0\vc\bin\cvtres.exe, 另一個是C:\Windows\Microsoft.NET\Framework\v

4.0.30319\cvtres.exe。右鍵屬性|詳細資訊 檢視兩者版本号,删除較舊的版本,或者重新設定Path變量。

治本的辦法是第三步,删除舊版本的cvtres.exe後,就不需要每次都設定配置了。

但是一定注意的是搜尋的時候會出來很多對應的cvtres.exe,一定是删除vc\bin\cvtres.exe對應目錄下的那個,可能還會出現對應檔案夾arm64下的exe,可以用最新的C:\Windows\Microsoft.NET\Framework\v.....\cvtres.exe下的進行替換,如果沒有直接删除之前那個舊版本的就可以了