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

本博客轉載自http://www.cnblogs.com/code-wangjun/p/6624551.html請尊重版權完整



本來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方面一樣。

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章