我試圖運行與OpenCV Visual C++。我已經將OpenCV鏈接到了Visual Studio 2012.當我試圖運行代碼時,它給了我一個錯誤;致命錯誤LNK1104:無法打開文件'opencv_calib3d246.dll'
LINK : fatal error LNK1104: cannot open file 'opencv_calib2d246.dll'
這就是我要怎樣做:
#include "stdafx.h"
#include "opencv2\highgui\highgui.hpp"
#include "opencv2\core\core.hpp"
#include<iostream>
using namespace cv;
using namespace std;
int main(int argc, char** argv)
{
if(argc !=2)
{
cout <<"usage: display_image ImageToLoadAndDisplay"<<endl;
return -1;
}
Mat image;
image=imread(argv[1],CV_LOAD_IMAGE_UNCHANGED);
if(! image.data)
{
cout<<"couldn't open or find the image"<<endl;
return -1;
}
namedWindow("Display Window",WINDOW_AUTOSIZE);
imshow("Display Window",image);
waitKey(0);
return 0;
}
我已經包括了所有的庫。我在Windows 7 32位系統上使用OpenCV 2.4.6。
再說了我要補充,還是我必須在程序初始化呢?
更新
在我的硬盤OpenCV的路徑:E:\opencv\opencv
。系統環境變量中的路徑:%OPENCV_DIR%\x86\vc11\bin;
,其中我創建了一個新變量作爲OPENCV_DIR,並給出了路徑E:\opencv\opencv\build
。並在linker\command line
/OUT:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.exe」/ MANIFEST/NXCOMPAT/PDB:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.pdb」/ DYNAMICBASE「 opencv_calib3d248.lib 「 」opencv_calib3d248d.lib「 」opencv_contrib248.lib「 」opencv_contrib248d.lib「 」opencv_core248.lib「 」opencv_core248d.lib「 」opencv_features2d248.lib「 」opencv_features2d248d.lib「 」opencv_flann248.lib「 」opencv_flann248d.lib「」 「opencv_gpu248.lib」「opencv_gpu248d.lib」「opencv_highgui248.lib」「opencv_highgui248d.lib」「opencv_imgproc248.lib」「opencv_imgproc248d.lib」「opencv_legacy248.lib」「opencv_legacy248d.lib」「opencv_ml248.lib」「opencv_ml248d.lib」「 opencv_nonfree248.lib」 「opencv_nonfree248d.lib」 「opencv_objdetect248.lib」 「opencv_objdetect248d.lib」 「opencv_ocl248.lib」 「opencv_ocl248d.lib」 「opencv_photo248.lib」 「opencv_photo248d.lib」 「opencv_stitching248.lib」 「opencv_stitching248d.lib」 「opencv_superres248.lib」「opencv_superres248d.lib」「opencv_ts248.lib」「opencv_ts248d.lib」「opencv_video248.lib」「opencv_video248d.lib」「opencv_videostab248.lib」「opencv_videostab248d.lib」「kernel32.lib」「user32.lib」 「gdi32.lib」「winspool.lib」「comdlg32.lib」「advapi32.lib」「shell32.lib」「ole32.lib」「oleaut32.lib」「uuid.lib」「odbc32.lib」「odbccp32.lib」/DEBUG/MACHINE:X86/INCREMENTAL/PGD:「E:\ VS2012 Projects \ cvtest \ Debug \ cvtest.pgd」/ MANIFESTUAC:「level ='asInvoker'uiAccess ='false'」/ManifestFile:"Debug\cvtest.exe .intermediate.manifest「/ ERRORREPORT:PROMPT/NOLOGO/TLBID:1
現在我無法加載圖像。沒有致命的錯誤,什麼也沒有。它正在考慮if語句並且不加載任何內容。
有什麼建議嗎?
您是否添加了對此dll的引用?我嘗試在C#中使用opencv我剛剛添加它在參考 – Sherlock
去鏈接器/一般,並添加該.lib文件所在的路徑,以「額外的鏈接器目錄」或類似 – Micka
@Micka我檢查了路徑。我也指定了路徑。仍然我收到了同樣的錯誤。 –