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

6 visualizzazioni (ultimi 30 giorni)
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 Commenti
Christian
Christian il 13 Giu 2013
Modificato: Christian il 13 Giu 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 il 22 Ago 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

Accedi per commentare.

Risposte (1)

Kaustubha Govind
Kaustubha Govind il 13 Giu 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 Commenti
Christian
Christian il 8 Ago 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 il 19 Ago 2016
Modificato: Webb Wei il 21 Ago 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

Accedi per commentare.

Categorie

Scopri di più su C Shared Library Integration in Help Center e File Exchange

Prodotti

Community Treasure Hunt

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

Start Hunting!

Translated by