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.

 采纳的回答

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'));

更多回答(1 个)

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 个评论

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.

请先登录,再进行评论。

类别

帮助中心File Exchange 中查找有关 Startup and Shutdown 的更多信息

产品

版本

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by