web-dev-qa-db-ja.com

LNK2019:Visual Studio C ++の未解決の外部シンボルエラー

これは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

助けてください。

9
sandy

'unresolved external symbol'は、必要なライブラリとリンクしていないことを意味します。 Properties -> Linker -> Additional Library dependenciesに移動し、OpenCVライブラリへのパスを追加します。

14
ladan

最初の確認 Microsoft Visual Studio内でOpenCVを使用してアプリケーションを構築する方法

それでも同じ問題が発生する場合は、次のいずれかの場合があります。

  1. アクティブなソリューションプラットフォームはx86ですが、x64 OpenCVライブラリをリンクしようとしています。
  2. アクティブなソリューションプラットフォームはX64ですが、x86 OpenCVライブラリをリンクしようとしています。

これらのいずれかの場合は、 Microsoft Visual Studio Express 2010での64ビットアプリケーションのコンパイル を確認してください。

11
zjkgoo

これらをコードに追加します。

#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")

それは私のために働いた。

6
Ande

私は同じ問題をたくさん探しましたが、これは私が見つけた最良の解決策であり、私にとってはうまくいきました。

[構成プロパティ]> [C/C++]> [全般]を開き、[追加のインクルードディレクトリ]フィールドを編集して、次の3つのパス(ヘッダー用)を追加します。

C:\ OpenCV2.3\build\include\opencv

C:\ OpenCV2.3\build\include\opencv2

C:\ OpenCV2.3\build\include

0
yamen