Загрузка DLL, сгенерированной MATLAB Coder, с функцией, которая вызывает внешние функции - PullRequest
0 голосов
/ 19 сентября 2018

У меня есть 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

Когда я пытаюсь загрузить сгенерированный файл Adjust.dll, используя QLibrary, я получаю следующую ошибку:

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

Здесь я обнаружил предположение, что проблема может заключаться в загрузке одной из зависимостей .dll (последнее сообщение):

Проблема с зависимостями

Я попытался загрузить другие DLL-файлы, содержащие только одну функцию без зависимостей, и это сработало, поэтому проблема не в использовании QLibrary;также пытался включить заголовки и связать файлы .cpp с сгенерированным кодом для функций (например, PulseFindAdapt), но это не сработало.Любые предложения, как загрузить и использовать такие .dll?

Буду признателен за любую помощь!

1 Ответ

0 голосов
/ 21 сентября 2018

По всем вопросам, связанным с ошибками компоновки, не стесняйтесь использовать DependencyWalker www.dependencywalker.com.

Это даст зависимость и функции

...