MATLAB Answers

0

Error when trying to load .dll

I try to load the PID_win64.dll library shown in figure below but I get this error:
The headers are placed in the folder PID_ert_shrlib_rtw.

  0 Comments

Sign in to comment.

Products


Release

R2018b

2 Answers

Answer by Panagiotis Bountouris on 15 Apr 2019
 Accepted Answer

Thank you all for the answers. I finally found out how to sucessfully load the library. Please see the script line below:
The last 'includepath' refers to necessary matlab setup directory include files.
coder.loadlibrary('PIDdll_win64', '.\PIDdll_ert_shrlib_rtw\PIDdll.h',...
'includepath','.\PIDdll_ert_shrlib_rtw','includepath',fullfile(matlabroot,'simulink','include'));

  0 Comments

Sign in to comment.


Answer by Guillaume
on 14 Apr 2019

You probably need to add an 'IncludePath' parameter to your loadlibrary call to specify which directory the include file rtw_continuous.h resides in
load_library('PID_Win64', 'PID.h', 'addheader', 'PID_private', 'IncludePath', 'path\to\include\directory')

  2 Comments

Dear Guillaume
Thank you for you answer. I tried the line below but I had another error:
>> loadlibrary('PIDdll_win64', 'PIDdll', 'addheader', 'rtwtypes','addheader', 'PIDdll_private','addheader', 'PIDdll_types', 'includepath', 'C:\Users\wsb15162\Documents\PhD\Generic model\Working now\new_attempt\new_case\PIDdll_ert_shrlib_rtw')
Error using regexp
The 'STRING' input must be either a char row vector, a cell array of char row
vectors, or a string array.
Error in loadlibrary
Error in loadlibrary
PS: I have atatched all the files.
Historically it has been common for those processes to fail when there is a space in a directory name.

Sign in to comment.