そのような初心者の質問をして申し訳ありませんが、私はopenCVとVC ++ 2010に本当に慣れていません。答えを求めてネットを検索しましたが、適切な答えが得られませんでした。
OReilly-LearningOpenCV ブックの最初のプロジェクト「First Program-Display a Picture」をビルドすると、次のエラーが発生しました。
1-error C2664: 'cvLoadImage' : cannot convert parameter 1 from '_TCHAR *' to 'const char *'
2-IntelliSense: argument of type "_TCHAR *" is incompatible with parameter of type "const char *"
コードは次のとおりです。
#include "stdafx.h"
#include "opencv\highgui.h"
int _tmain(int argc, _TCHAR* argv[])
{ IplImage* img = cvLoadImage( argv[1] );
cvNamedWindow( "Example1", CV_WINDOW_AUTOSIZE );
cvShowImage( "Example1", img );
cvWaitKey(0);
cvReleaseImage( &img );
cvDestroyWindow( "Example1" );
system("pause");
return 0;
}
Microsoft Visual Studio 2010 から受け取るメッセージは次のとおりです。
1>------ Build started: Project: FirstProgram_DisplayAPicture3, Configuration: Debug x64 ------
1>Build started 7/6/2013 11:13:00 AM.
1>InitializeBuildStatus:
1> Touching "x64\Debug\FirstProgram_DisplayAPicture3.unsuccessfulbuild".
1>ClCompile:
1> All outputs are up-to-date.
1> FirstProgram_DisplayAPicture3.cpp
1>FirstProgram_DisplayAPicture3.cpp(9): error C2664: 'cvLoadImage' : cannot convert parameter 1 from '_TCHAR *' to 'const char *'
1> Types pointed to are unrelated; conversion requires reinterpret_cast, C-style cast or function-style cast
1>
1>Build FAILED.
1>
1>Time Elapsed 00:00:00.68
========== Build: 0 succeeded, 1 failed, 0 up-to-date, 0 skipped ==========
必要な追加情報:
win32 コンソール アプリケーションを作成し、ウィザードの 2 ページ目でプリコンパイル済みヘッダー設定を選択しました。
OSとしてwin7x64を使用しているため、プロジェクトのプラットフォームをx64に変更しました。
openCV ライブラリをプロジェクトに適切にリンクしました。
追加の依存関係として highgui.lib を導入しました
どんな助けでも大歓迎です。
2つのエラーを解決するにはどうすればよいですか?
編集セクション:
これらのエラーは 6 行目で発生することに注意してください。つまり、IplImage* img = cvLoadImage( argv[1] );
Roger Rowland の提案に基づいて編集したセクション:
Roger Rowland の発言に基づいて、プロジェクトの Character Set プロパティを Not Set に変更しました。上記の 2 つのエラーは解決されましたが、これらのエラーが発生しました。
エラー LNK1120: 1 つの未解決の外部
エラー LNK2019: 未解決の外部シンボル cvReleaseImage が関数 main で参照されています
どうすれば問題を解決できますか?