Search code examples
rhapsodyfmi

IOException in Rhapsody FMI


I'm trying to generate an FMU of a block in IBM Rational Rhapsody using it's FMI profile, but everytime I generate de FMU I get the following error:

FMUPlugin.OnMenuItemSelect ("FMU\Generate FMU")
Export menu
All Checks Terminated Successfully

Checker Done
0  Error(s), 0  Warning(s)

Code generated to directory: C:\Documents and Settings\markel.sainz\workspace_FMI\FMI_test2\block_1_MSVCDLL\FMU
Generating file cash_calculator.h (unmodified)
Generating file cash_calculator.cpp (unmodified)
Generating make file block_1_MSVCDLL.mak (unmodified)

Code Generation Done

0  Error(s), 0  Warning(s), 0  Message(s)
Building ------------  block_1_MSVCDLL.dll   ------------
Executing: ""C:\Archivos de programa\IBM\Rational\Rhapsody\8.1\Share"\etc\msvcmake.bat block_1_MSVCDLL.mak build x86 VC10 "
Value of the property MSVC::IDEVersion corresponds to the version of Visual Studio. 
VC9 - Visual Studio 2008
VC10 - Visual Studio 2010
VC11 - Visual Studio 2012
Current value is "VC10", but no Visual Studio installation was not found in the directory "".

Build Done

FMU generation failed!
FMI plugin cause: IOException thrown: Failed to rename the target file: C:\Documents and Settings\markel.sainz\workspace_FMI\FMI_test2\block_1_MSVCDLL\FMU\cash_calculator.dll

Any ideas of what is going on?

Thanks in advance.


Solution

  • I got this problem many times and at the end solved it according to many resources.

    First, go to

    C:\ProgramData\IBM\Rational\Rhapsody\8.1.1x64\Share\etc\msvcmake.bat
    

    Then open the file and change

    if "%4"=="VC10" set VS_PATH=%VS_2010_PATH%
    

    to

    if "%4"=="VC10" set VS_PATH=C:\Program Files (x86)\Microsoft Visual Studio 10.0
    

    The path is where you installed the Microsoft Visual Studio 10.0.

    The last step (many answers missed this): go to IBM Rational Rhapsody and open your project, then click "Build Framework" at the bottom of "Code" menu.

    Then you're free to go!