Rhapsody Simulink Integration
IBM Engineering Systems Design Rhapsody® 9.0.1
Build No. 9.0.1.R00_202301021733 64bit SR1 iFix004
Simulink version details:
MATLAB Version 9.12 (R2022a)
Simulink Version 10.5 (R2022a)
Simulink Coder Version 9.7 (R2022a)
<o:p> </o:p>
12 answers
Can you try this .
Open C:\Program Files\IBM\Rhapsody\9.0.2\Share\LangCpp\mingwbuild.mak file and do the below modification .
1:Add this line at the end:
simulinklib : @if not exist "$(DOSDIR)$(PATH_SEP)LangCpp$(PATH_SEP)SimulinkIntegration" mkdir "$(DOSDIR)$(PATH_SEP)LangCpp$(PATH_SEP)SimulinkIntegration" $(MAKE) -C SimulinkIntegration -f mingwSimulinkIntegration.mak CFG=SimulinkIntegration
2: Add this at line number 22: simulinklib
3: Add this under RemoveObjs
@if exist "$(DOSDIR)$(PATH_SEP)LangCpp$(PATH_SEP)SimulinkIntegration" erase /F /Q /S "$(DOSDIR)$(PATH_SEP)LangCpp$(PATH_SEP)SimulinkIntegration"*.o >nul 2>&1
Change the below property :
CPP_CG::MinGW::MakeFileContent
SHELL=cmd ############# Target type (Debug/Release) ################## ############################################################ CPPCompileDebug=$OMCPPCompileDebug CPPCompileRelease=$OMCPPCompileRelease LinkDebug=$OMLinkDebug LinkRelease=$OMLinkRelease CleanupFlagForSimulink= SIMULINK_CONFIG=$SimulinkConfig ifeq ($(SIMULINK_CONFIG),True) CleanupFlagForSimulink=-DOM_WITH_CLEANUP endif ConfigurationCPPCompileSwitches=$OMReusableStatechartSwitches $OMConfigurationCPPCompileSwitches $OMSDLCompileSwitches $(CleanupFlagForSimulink) ######################################### ###### Predefined macros ################ INCLUDE_QUALIFIER=-I DEFINE_QUALIFIER=-D CC=g++ LIB_CMD=ar LINK_CMD=$LinkCommand LIB_FLAGS=rvu LINK_FLAGS= $OMConfigurationLinkSwitches ######################################### ####### Context macros ################## $OMContextMacros ######################################### ####### Predefined macros ############### $(OBJS) : $(INST_LIBS) $(OXF_LIBS) ifeq ($(INSTRUMENTATION),Animation) INST_FLAGS=$AnimPreprocessor INST_INCLUDES=$AnimIncludeDirectories INST_LIBS=$AnimInstLibs OXF_LIBS=$AnimOxfLibs SOCK_LIB=$SockLib else ifeq ($(INSTRUMENTATION),Tracing) INST_FLAGS=$TracePreprocessor INST_INCLUDES=$TraceIncludeDirectories INST_LIBS=$TraceInstLibs OXF_LIBS=$TraceOxfLibs SOCK_LIB=$SockLib else ifeq ($(INSTRUMENTATION),None) INST_FLAGS=$NonePreprocessor INST_INCLUDES=$NoneIncludeDirectories INST_LIBS=$NoneInstLibs OXF_LIBS=$NoneOxfLibs SOCK_LIB=$SockLib else @echo An invalid Instrumentation $(INSTRUMENTATION) is specified. exit endif endif endif .SUFFIXES: $(CPP_EXT) ##################################################################### ##################### Context dependencies and commands ############# $OMContextDependencies $(TARGET_MAIN)$(OBJ_EXT) : $(TARGET_MAIN)$(CPP_EXT) $(OBJS) @echo Compiling $(TARGET_MAIN)$(CPP_EXT) @$(CC) $(ConfigurationCPPCompileSwitches) -o $(TARGET_MAIN)$(OBJ_EXT) $(TARGET_MAIN)$(CPP_EXT) #################################################################### ############## Predefined Instructions ############################# $(TARGET_NAME)$(EXE_EXT): $(OBJS) $(ADDITIONAL_OBJS) $(TARGET_MAIN)$(OBJ_EXT) $OMMakefileName @echo Linking $(TARGET_NAME)$(EXE_EXT) @$(LINK_CMD) $(TARGET_MAIN)$(OBJ_EXT) $(OBJS) $(ADDITIONAL_OBJS) \ $(LIBS) \ $(OXF_LIBS) \ $(INST_LIBS) \ $(OXF_LIBS) \ $(INST_LIBS) \ $(SOCK_LIB) \ $(LINK_FLAGS) -o $(TARGET_NAME)$(EXE_EXT) $(TARGET_NAME)$(LIB_EXT) : $(OBJS) $(ADDITIONAL_OBJS) $OMMakefileName @echo Building library $@ @$(LIB_CMD) $(LIB_FLAGS) $(TARGET_NAME)$(LIB_EXT) $(OBJS) $(ADDITIONAL_OBJS) clean: @echo Cleanup $OMCleanOBJS if exist $(TARGET_MAIN)$(OBJ_EXT) erase $(TARGET_MAIN)$(OBJ_EXT) if exist $(TARGET_NAME)$(LIB_EXT) erase $(TARGET_NAME)$(LIB_EXT) if exist $(TARGET_NAME)$(EXE_EXT) erase $(TARGET_NAME)$(EXE_EXT) With this changes please do a build framework.
Comments
Consider to open a case with support.
Another thing to mention: Although Microsoft forced the default install folder always to Program Files, in my experience it is a really bad idea in a lot of cases, especially development.
If you run a make in Program Files and the make wants to create folders, this will not be allowed, unless the script is run "As Admin". I have also seen other issues with the blank in the file name.
I would suggest to install into a folder e.g. C:\IBM\Rhapsody... and try that.
This also I tried but getting same error.
Hi Babu ,Could you please try the below with the changes you made last:Right click on the configuration and check for the below properties:CPP_CG::MinGW::AnimInstLibsCPP_CG::MinGW::AnimOxfLibsCPP_CG::MinGW::NoneInstLibsCPP_CG::MinGW::NoneOxfLibsCPP_CG::MinGW::TraceInstLibsCPP_CG::MinGW::TraceOxfLibsFor all these properties ,add $(SimulinkLibName) at the end.In CPP_CG::MinGW::MakeFileContent add the below in the value.LinkDebug=$OMLinkDebugLinkRelease=$OMLinkReleaseSimulinkLibName=$SimulinkLibNameCleanupFlagForSimulink=SIMULINK_CONFIG=$SimulinkConfigifeq ($(SIMULINK_CONFIG),True)CleanupFlagForSimulink=-DOM_WITH_CLEANUPendifConfigurationCPPCompileSwitches=$OMReusableStatechartSwitches $OMConfigurationCPPCompileSwitches $OMSDLCompileSwitches $(CleanupFlagForSimulink)Do a code->build framework
Comments
Hi Arta ,
Before generating the code . Could you please do
Comments
I am getting above error when I build framework.
Hi Babu ,
Hi Babu ,
HI Babu ,
Hi Arta,
Now we have all library needed for simulink project .
@rem ************
@rem Licensed Materials - Property of IBM
@rem (c) Copyright IBM Corporation 2008, 2019. All Rights Reserved.
@rem Note to U.S. Government Users Restricted Rights:
@rem Use, duplication or disclosure restricted by GSA ADP Schedule
@rem Contract with IBM Corp.
@rem ***********
set LANG=en_US
if "%3"=="x64" set MINGW_ROOT=%MINGW_HOME%\mingw64
if "%3"=="x86" set MINGW_ROOT=%MINGW_HOME%\mingw32if "%3"=="x64" set MINGW_INCLUDE=x86_64-w64-mingw32
if "%3"=="x86" set MINGW_INCLUDE=i686-w64-mingw32
@echo off