使用函数加载 MATLAB Coder 生成的 DLL,调用外部函数

问题描述 投票:0回答:2

我有一个由 MATLAB Coder 生成的 DLL 文件,其中包含函数

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吗?

将不胜感激任何帮助!

c++ matlab dll matlab-coder
2个回答
0
投票

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

它将提供依赖和功能


0
投票

QLibrary
仅支持C函数。

© www.soinside.com 2019 - 2024. All rights reserved.