加载由 MATLAB Coder 生成的带有函数的 DLL,该函数调用外部函数

Loading DLL generated by MATLAB Coder with function, that calls outer functions

本文关键字:函数 DLL 外部 函数调用 MATLAB Coder 加载      更新时间:2023-10-16

我有一个DLL文件,由MATLAB Coder生成,其中包含函数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

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

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

在这里我发现了一个建议,问题可能是加载.dll依赖项之一(上一篇文章(:

依赖项问题

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

将不胜感激任何帮助!

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

它将提供依赖关系和功能