1

そのような初心者の質問をして申し訳ありませんが、私は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 で参照されています

どうすれば問題を解決できますか?

4

2 に答える 2