[DirectShow]Visual Studio 2019 でDirectShowアプリのコンパイル時のエラーの対処(streams.h C4596 C2385 C3254 C3244)

DirectShow baseclassesのstreams.hを使用すると以下のエラーが発生し、ビルドできません。

\baseclasses\transip.h(214,55): error C4596: 'Copy': メンバー宣言内の限定名が間違っています。
\baseclasses\videoctl.h(54,44): error C2385: '{dtor}' へのアクセスがあいまいです。
\baseclasses\videoctl.h(54,44): message : '{dtor}' (ベース 'IDirectDraw' 内) である可能性があります
\baseclasses\videoctl.h(54,44): message : または、'{dtor}' (ベース 'CUnknown' 内) である可能性があります
\baseclasses\videoctl.h(54,47): error C3254: 'CAggDirectDraw': クラスは明示的オーバーライド '{dtor}' を含みますが、関数宣言を含むインターフェースから派生していません。
\baseclasses\videoctl.h(54,47): error C3244: 'CAggDirectDraw::~CAggDirectDraw(void)': このメソッドは '<不明>' によって ('IDirectDraw' ではなく) 導入されました。

対策は、プロジェクトのプロパティを開き以下の設定を行います。 [表示ページ]構成プロパティ - C/C++ - 言語 [項目名]準拠モード 「はい(/permissive-)」から、「既定」に変更する。

0 件のコメント :

コメントを投稿