OpenCVを使いたいのですが
Visual C++ 2010にOpenCV2.4.3の導入し、設定を終えたのでプログラムをビルドさせるとエラーが吐き出され動作しません。
どなたか原因がわかる方はいらっしゃらないでしょうか?
【プログラム】
#include<stdio.h>
#include<openCV2/opencv.hpp>
#ifdef _DEBUG
#pragma comment(lib,"opencv_core243d.lib")
#pragma comment(lib,"opencv_highgui243d.lib")
#pragma comment(lib,"opencv_objdetect243d.lib")
#else
#pragma comment(lib,"opencv_core243d.lib")
#pragma comment(lib,"opencv_highgui243d.lib")
#pragma comment(lib,"opencv_objdetect243d.lib")
#endif
//--------------------------------------------------------
//main
int
main(int argc,char* argv[])
{
const char* szWndName="画像";
if(argc<2)
{
fprintf(stderr,"入力ファイル名を指定してください。\n");
return -1;
}
IplImage *img=cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR);
if(img==NULL)
return -1;
cvNamedWindow(szWndName);
cvShowImage(szWndName, img);
cvWaitKey(0);
cvDestroyAllWindows();
cvReleaseImage(&img);
return 0;
}
【ビルド後にでるエラーメッセージ】
------ すべてのリビルド開始: プロジェクト: OpenCV, 構成: Debug Win32 ------
TEST02.c
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2054: 'using' の後に '(' が必要です。
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2061: 構文エラー : 識別子 'using'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(19): error C2054: 'using' の後に '(' が必要です。
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'using'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'abs'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2061: 構文エラー : 識別子 'atexit'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(21): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atof'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atoi'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2061: 構文エラー : 識別子 'atol'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(22): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'bsearch'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'calloc'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2061: 構文エラー : 識別子 'div'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(23): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'exit'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'free'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2061: 構文エラー : 識別子 'getenv'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(24): error C2059: 構文エラー : ';'
C:\Program Files\Microsoft Visual Studio 10.0\VC\include\cstdlib(25): error C2061: 構文エラー : 識別子 'labs'
この後はエラー表記が続きます。
お礼
有難うございました
補足
NMLVDISPINFO がcommctrl.h にないというのは間違いでした。 #ifdef UNICODE #define NMLVDISPINFO NMLVDISPINFOW #else #define NMLVDISPINFO NMLVDISPINFOA #endif という部分は、VC6 にも確認できました。 結局、 #define LPNMLVDISPINFO NMLVDISPINFO* とすることで解決しました。