1

Win7 サービス パック 1 Matlab 2013b

こんにちは

関数を使用できるように、libfaad2.dll lib (コンパイル済み) を Matlab に含めようとしています。loadlibrary コマンドでこれを試します。しかし、libfaad.dll is not a valid win32 application! というエラー メッセージが表示されます。マトラブから。

DependencyWalker (x64 バージョン) を使用して libfaad2.dll を簡単に調べたところ、c:\windows\system32\Kernel32.dll が必要であることがわかりました。ただし、kernel32.dll では 2 つの関数が使用できないことも示されています。

---> これは Matlab の問題ではないと思います

しかし、c:\windows\sysWow64\kernel32.dll には必要な機能が含まれています。

libfaad2.dll ファイルが sysWow64\kernel32.dll を使用する必要があることを matlab、または一般的にどのように伝えることができますか?

4

1 に答える 1

0

解決策を見つけました:Matlabの32ビットバージョンをインストールして、これを試してください。最初の試みで働いた!

詳細: Win7 には、システム .dll 用に 2 つの異なるフォルダーがあります。

C:\windows\system32: ここには 64 ビット ソフトウェア用の .dll がすべてあり、32 用ではありません!

C:\windows\SysWoW64: WoW64 は「Windows on 64-bit Windows」の略で、互換性のために必要なすべての 32 ビット バイナリ ファイルが含まれており、64 ビット Windows 上で実行されます。

32 ビット バージョンを使用すると、Matlab は SysWoW64 ファイルを使用します。これが、必要なすべての機能を含む正しい kernel32.dll です。

于 2014-01-21T09:13:07.730 に答える