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

5 次查看(过去 30 天)
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 个评论
Christian
Christian 2013-6-13
编辑:Christian 2013-6-13
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 2016-8-22
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

请先登录,再进行评论。

回答(1 个)

Kaustubha Govind
Kaustubha Govind 2013-6-13
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 个评论
Christian
Christian 2013-8-8
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 2016-8-19
编辑:Webb Wei 2016-8-21
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

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 C Shared Library Integration 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by