1

Win7 服务包 1 Matlab 2013b

你好

我正在尝试将 libfaad2.dll 库(我已准备好编译)包含到 Matlab 中,以便我可以使用这些函数。我用 loadlibrary 命令试试这个。但我收到错误消息 libfaad.dll 不是有效的 win32 应用程序!来自matlab。

使用 DependencyWalker(x64 版本)对 libfaad2.dll 的简短检查表明它需要 c:\windows\system32\Kernel32.dll。但也显示 kernel32.dll 中没有 2 个函数

---> 所以我猜这不是 Matlab 问题

但是 c:\windows\sysWow64\kernel32.dll 包含所需的功能!

我如何告诉 matlab,或者一般来说, libfaad2.dll 文件应该使用 sysWow64\kernel32.dll ?

4

1 回答 1

0

找到了解决方案:安装 32 位版本的 Matlab 并尝试使用它。第一次尝试工作!

更详细:Win7 有 2 个不同的系统 .dll 文件夹

C:\windows\system32:这里是 64 位软件而不是 32 位软件的所有 .dll!

C:\windows\SysWoW64:WoW64 代表“Windows on 64-bit Windows”,它包含兼容所需的所有 32 位二进制文​​件,这些文件在 64 位 Windows 之上运行。

使用 32 位版本,Matlab 将使用 SysWoW64 文件。这就是包含所有所需功能的正确 kernel32.dll!

于 2014-01-21T09:13:07.730 回答