【发布时间】:2018-09-19 09:27:32
【问题描述】:
我有一个由 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 有何建议?
将不胜感激!
【问题讨论】:
-
您是否尝试过使用DependencyWalker dependencywalker.com 来查看Adjust.dll 的依赖关系?
-
谢谢你的回答!是的,这确实是依赖问题。我缺少
libiomp5md.dll。另外,我的同事建议我使用静态链接而不是动态链接,这有助于我在执行应用程序之前修复链接错误。 -
如果它对你有帮助,我发布了一个答案,不要犹豫,支持并接受。谢谢
标签: c++ matlab dll matlab-coder