OpenCV2.4.11+VS2012的環境配置+“fatal error LNK1112: 模塊計算機類型“X86”與目標計算機類型“x64”沖突”的問題解決


本來OpenCV環境配置的問題是個基礎問題,但是步驟有點小煩,所以幾乎每次都要百度一下,加上這次遇到的“fatal error LNK1112: 模塊計算機類型“X86”與目標計算機類型“x64”沖突”的問題的解決,所幸寫一篇博客,以后還要配置環境,自己可以直接看。

首先來說OpenCV環境配置問題:

第一步:給OpenCV壓縮包解壓到一個磁盤中,任何磁盤都可以,我選擇解壓在C盤。

第二步:環境變量的配置,計算機—屬性—高級系統設置—環境變量

 

 

第三步:在系統變量當中找到Path,並且在path雙擊path,開啟編輯模式。在path當中添加OpenCV的相關路徑,根據文件解壓的位置做出相應的更改,比如我的就是:

           C:\opencv\build\x86\vc11\bin      C:\opencv\build\x64\vc11\bin   因為有時候會用到x64位編譯器,所以兩個都添加上。

           

 

第四步:打開VS2012新建一個工程,然后找到屬性管理器,點擊Debug欄目,右鍵添加新項目屬性表,並且進行相關命名,因為以后會反復用到這個東西,所以名字要特別一點。

 

第五步:雙擊新建的屬性表,添加相應的目錄。

           通用屬性— VC++目錄 — 包含目錄:  (根據解壓文件的位置)例如我的分別是:

           C:\opencv\build\include

           C:\opencv\build\include\opencv

           C:\opencv\build\include\opencv2

           然后是 庫目錄  也是根據解壓位置添加的:

           C:\opencv\build\x86\vc11\lib

 

 

第六步: 添加附加依賴項:連接器——輸入——添加附加依賴項 ,然后將下面文件名放進去。

opencv_core2411d.lib
opencv_imgproc2411d.lib
opencv_highgui2411d.lib
opencv_ml2411d.lib
opencv_video2411d.lib
opencv_features2d2411d.lib
opencv_calib3d2411d.lib
opencv_objdetect2411d.lib
opencv_contrib2411d.lib
opencv_legacy2411d.lib
opencv_flann2411d.lib

好了,至此OpenCV環境已經配好了,可以用下面的代碼跑一下試試有沒有成功:

#include<opencv2\core\core.hpp>
#include<opencv2\opencv.hpp>
#include<opencv2\imgproc\imgproc.hpp>
#include<opencv2\highgui\highgui.hpp>

using namespace std;
using namespace cv;

int main(){
    Mat img=imread("F:/2.jpg");  //圖片路徑
    if(img.empty()){
        return -1;
    }
    imshow("hehe",img);
    waitKey(0);
    return 0;
}

Release模式和Debug模式差不多,只不過在添加附加依賴項的時候,將附件依賴項的文件名后面的“d”給去掉。

 

現在我們再討論一下fatal error LNK1112: 模塊計算機類型“X86”與目標計算機類型“x64”沖突問題的解決:即我們需要再64位環境下編譯運行,但是出現這個問題。

首先要確保這兩個地方沒有問題:

1:項目解決方案——屬性——連接器——高級——目標計算機,看目標計算機是否是MachineX64,不是的話更改為。

2:配置管理器——新建(有的話直接選擇)x64

這兩個搞定之后,試一試能不能跑,不能跑的話,我們回到剛剛設置建立的OpenCV屬性表當中,注意是修改DebugX64位下面的屬性表,將我們的庫目錄的路徑更改一下,

將原來的 C:\opencv\build\x86\vc11\lib 改為 C:\opencv\build\x64\vc11\lib,這樣基本就沒問題。Relaese方面一樣。

========================更新一下===============================================================

OpenCV 3 +VS2017 一個小問題:由於找不到opencv_world331d.dll,程度無法應用。

解決:將opencv_world331d.dll 拷貝到Windows/System32里面。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM