0

Windows8ストアアプリでEmguCVライブラリを使用してみました。以前は、Windows7デスクトップアプリプロジェクトで正常に機能していました。

Windows 8ストアアプリのプロジェクトディレクトリ[ C:\ Projects \ App2 \ App2 \ bin\Debug ]に必要なすべてのDLLファイルがあることを確認します。

ここに画像の説明を入力してください

[ローカルマシン]ボタンを使用してMicrosoftVisualStudio 2012 Ultimateで直接実行すると 、次の例外が発生します。

ここに画像の説明を入力してください

例外:スロー: "DLL'opencv_core240'をロードできません:指定されたモジュールが見つかりませんでした。(HRESULTからの例外:0x8007007E)"(System.DllNotFoundException)System.DllNotFoundExceptionがスローされました: "DLL'opencv_core240'をロードできません:指定されたモジュールが見つかりませんでした。(HRESULTからの例外:0x8007007E) "

私の質問は:失敗の原因がWindows 8ストアアプリでDLLファイルを見つけられないかどうかを知るにはどうすればよいですか?または、見つかったDLLファイルがWindows 8ストアアプリで期待される形式ではありませんか?(DLLはWindows 7デスクトップソフトウェアで問題ありません)

フォーマットがWindows8Store Appで認識されないことが原因である場合は、WindowsストアでDLLプロジェクト全体を再コンパイルします(OpenCVソースコードはC ++であり、ラッパーとして機能するEmguCVはC#です)->クラスライブラリ(Windowsストアアプリ)は役に立ちますか?

4

2 に答える 2

1

これらのdllがWindows7デスクトップアプリで機能した場合、プラットフォームとAPIが完全に異なるため、Windows8Metroアプリでは機能しません。Windows8WinRTプロジェクトにdllだけをロードすることはできません。

dllのソースコードがある場合は、Windowsランタイムコンポーネントとして再コンパイルしてみてください。元のコードがWinRTで使用できないAPIを使用している可能性が高いです。

于 2012-10-11T07:27:56.503 に答える
0

次の2つの投稿を見て、OpenCVまたはその他のサードパーティライブラリをWindows8Storeアプリで動作させる方法を確認してください。

VisualC++を使用したWindowsストアアプリでのOpenCVの使用

Windows 8ストアアプリ(Visual C ++ 2012を使用して構築)でのC ++ライブラリ(Visual C ++ 2010を使用して構築)の使用

于 2012-12-30T07:00:31.583 に答える