Using rtwmakecfg to tell RTW to use precompiled object instead of S-Function code

5 views (last 30 days)
Hello,
I try to use rtwmakecfg to define that RTW should use a precompiled object of my C S-function instead of the source code. I tried to use makeInfo.linkLibsObjs as well as the makeInfo.library struct but every time, RTW is looking for the source code of the S-Function. Is there any way to tell RTW, that a S-Function does not need to be compiled but a precompiled object is aready available at a specific location?
Thanks,
Christian
  3 Comments
Christian
Christian on 13 Jun 2013
Edited: Christian on 13 Jun 2013
The name of my S-function is hdlc. It needs an additional library to be linked (helper_funcs) The target-specific extension of compiled objects is .m50 Both precompiled objects are located in S:\src\dSpace\objs\ I tried two ways: First, I used:
makeInfo.linkLibsObjs = {'S:\src\dSpace\objs\hdlc.m50','S:\src\dSpace\objs\helper_func.m50'};
Then, I used:
makeInfo.precompile = 1;
makeInfo.library(1).Name = 'hdlc';
makeInfo.library(1).Location = 'S:\src\dSpace\objs';
makeInfo.library(1).Modules = { 'dummy' };
makeInfo.library(2).Name = 'helper_func';
makeInfo.library(2).Location = 'S:\src\dSpace\objs';
makeInfo.library(2).Modules = { 'dummy' };
Both ways did not work, instead, the makefile still contained the source file of my S-function and therefore, RTW tried to compile it.
Do you see something that might be wrong in my rtwmakecfg?
Webb Wei
Webb Wei on 22 Aug 2016
Hi Christian, I am having the problem in having rti1103.tlc to compile my cpp s-function, I basically try to do the same thing as you asked here. I was wondering how did you compile your source file to an object specific to the RTI(.m50)? I am using RTI1103 and it looks like a need a .m04 object file. Do you use other compiler (VS or mex) to do so? and how?
Thanks

Sign in to comment.

Answers (1)

Kaustubha Govind
Kaustubha Govind on 13 Jun 2013
What is the System Target File that you are using for code-generation? Is it specific to your target (since you are attempting to use a custom object extension, .m50)? Note that the makefile generated for the default targets will look for .obj extensions on Windows and .o on *nix platforms, you will need to provide the appropriate object files.
  5 Comments
Christian
Christian on 8 Aug 2013
I am still struggling with this problem. Basically, I am looking for a way to tell RTW that an S-Function does not need to be compiled but that there is the precompiled object available at a specific location.
Webb Wei
Webb Wei on 19 Aug 2016
Edited: Webb Wei on 21 Aug 2016
Hi Christian, I am having the problem in having rti1103.tlc to compile my cpp s-function, I basically try to do the same thing as you asked here. I was wondering how did you compile your source file to an object specific to the RTI(.m50)? I am using RTI1103 and it looks like a need a .m04 object file. Do you use other compiler (VS or mex) to do so? and how?
Thanks

Sign in to comment.

Categories

Find more on C Shared Library Integration in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!