これはVisual Studio C++の私のコードです
#include "stdafx.h"
#include<opencv\cv.h>
#include<opencv\highgui.h>
using namespace cv;
int main(int argc, char** argv[]) {
IplImage* img = cvLoadImage("logo.jpg");
cvNamedWindow("Test", CV_WINDOW_AUTOSIZE);
cvShowImage("Test", img);
cvWaitKey(0);
cvReleaseImage(&img);
cvDestroyWindow("Test");
return 0;
}
OpenCV 2.4.6とVisual Studio 2010を使用しています。これはエラーです。
openCV_testing.obj : error LNK2019: unresolved external symbol _cvDestroyWindow
referenced in function _main
openCV_testing.obj : error LNK2019: unresolved external symbol _cvReleaseImage
referenced in function _main
openCV_testing.obj : error LNK2019: unresolved external symbol _cvWaitKey referenced in
function _main
openCV_testing.obj : error LNK2019: unresolved external symbol _cvShowImage referenced
in function _main
openCV_testing.obj : error LNK2019: unresolved external symbol _cvNamedWindow
referenced in function _main
openCV_testing.obj : error LNK2019: unresolved external symbol _cvLoadImage referenced
in function _main
助けてください。
'unresolved external symbol'
は、必要なライブラリとリンクしていないことを意味します。 Properties -> Linker -> Additional Library dependencies
に移動し、OpenCVライブラリへのパスを追加します。
最初の確認 Microsoft Visual Studio内でOpenCVを使用してアプリケーションを構築する方法
それでも同じ問題が発生する場合は、次のいずれかの場合があります。
これらのいずれかの場合は、 Microsoft Visual Studio Express 2010での64ビットアプリケーションのコンパイル を確認してください。
これらをコードに追加します。
#pragma comment (lib, "opencv_core248d.lib")
#pragma comment (lib, "opencv_highgui248d.lib")
#pragma comment (lib, "opencv_imgproc248d.lib")
#pragma comment (lib, "opencv_video248d.lib")
#pragma comment (lib, "opencv_features2d248d.lib")
それは私のために働いた。
私は同じ問題をたくさん探しましたが、これは私が見つけた最良の解決策であり、私にとってはうまくいきました。
[構成プロパティ]> [C/C++]> [全般]を開き、[追加のインクルードディレクトリ]フィールドを編集して、次の3つのパス(ヘッダー用)を追加します。
C:\ OpenCV2.3\build\include\opencv
C:\ OpenCV2.3\build\include\opencv2
C:\ OpenCV2.3\build\include