1

Media Foundation Transform を使用して、XAML/C# で表示されるビデオ ストリームに効果を適用するコードがあります。実際には、Microsoft が提供する Media Capture サンプルです。DirectX Toolkit を使用したかったので、C++ アプリケーションで DirectX Toolkit への参照を追加しました。ビルドは成功しましたが、次のエラーに直面しました。

warning LNK4197: export 'DllGetActivationFactory' specified multiple times; using first specification 
warning LNK4197: export 'DllCanUnloadNow' specified multiple times; using first specification
warning LNK4197: export 'DllGetActivationFactory' specified multiple times; using      first specification 
warning LNK4197: export 'DllCanUnloadNow' specified multiple times; using first specification
error LNK2005: _DllCanUnloadNow@0 already defined in dllmain.obj 
error LNK1169: one or more multiply defined symbols found

ここで詳しく説明されています: Windows::Storage::ApplicationData::Current Not Found in C++

ただし、その投稿の手順に従った後、別のエラーに直面しました。C# コードが WinRT dll を呼び出そうとすると、

await m_mediaCaptureMgr.AddEffectAsync(Windows.Media.Capture.MediaStreamType.VideoPreview, "GrayscaleTransform.GrayscaleEffect", null);

詳細なしで新しい例外をスローします。例外テキストは

System.Exception: Error in the DLL
at Windows.Media.Capture.MediaCapture.AddEffectAsync(MediaStreamType mediaStreamType, String effectActivationID, IPropertySet effectSettings)

私が行ったのは、コンパイラを介して DLL を GreyscaleTransform にリンクしただけで、追加のコードはまだ呼び出されていません。

これを引き起こす可能性のあるもの、またはトラブルシューティングの最善の方法について何か考えはありますか?

どうもありがとう、ステファン

4

0 に答える 0