首页 > 解决方案 > 使用调用外部函数的函数加载由 MATLAB Coder 生成的 DLL

问题描述

我有一个由 MATLAB Coder 生成的 DLL 文件,其中包含 function Adjust. 此函数需要在外部 .m 文件中编写的少量外部函数,例如PulseFindAdapt

function [Indexes,NoiseLogBinary,NoiseThreshold]=Adjust(NoiseLog,NoiseTime,MedianLong)%значения аргументов

NoiseLog = NoiseLog/8192;
NoiseLog=NoiseLog-my_medFilt(NoiseLog,MedianLong);
mean = 45;

[Indexes,NoiseLogBinary,NoiseThreshold]=PulseFindAdapt(NoiseLog,NoiseTime,mean,7);
end

当我尝试使用 加载生成的 Adjust.dll 文件QLibrary时,出现以下错误:

"Cannot load library Adjust.dll: the specified module could not be found"

在这里我找到了一个建议,问题可能是加载一个 .dll 依赖项(最后一篇文章):

依赖问题

我尝试加载其他 .dll 文件,只包含一个没有依赖项的函数,并且它有效,所以问题不在于使用QLibrary;还尝试包含头文件并将 .cpp 文件与生成的函数代码(例如PulseFindAdapt)链接,但它不起作用。关于如何加载和使用此类 .dll 的任何建议?

将不胜感激任何帮助!

标签: c++matlabdllmatlab-coder

解决方案


对于有关链接错误的所有问题,请不要犹豫使用 DependencyWalker www.dependencywalker.com。

它会提供依赖和功能


推荐阅读