C/C++ code generation features for Simulink models are only available if you have the following products installed and licensed for:
- MATLAB Coder
- Simulink Coder
- Embedded Coder (optional)
Please try out the following troubleshooting steps:
1. Check Licensing:
Check out the licenses by running the following commands in MATLAB:
>> [status,errmsg] = license('checkout','matlab_coder')
>> [status,errmsg] = license('checkout','real-time_workshop')
>> [status,errmsg] = license('checkout','RTW_Embedded_Coder')
Each command should return 'status = 1' and "errmsg = 0×0 empty char array" if the license checkout is successful.
Note that Embedded Coder depends on Simulink Coder. This means that Embedded Coder only works if Simulink Coder is also installed and licensed for. Simulink Coder depends on MATLAB Coder in the same way.
2. Check Installation:
Execute the following command to get the full list of installed products and associated licenses per product:
Check that MATLAB Coder and Simulink Coder are listed (additionally Embedded Coder if applicable).
If a product is missing from the above list, then add MATLAB Coder and Simulink Coder (and Embedded Coder if applicable) toolboxes to your existing installation as shown in the following link:
3. Try restarting:
Restarting MATLAB and/or your PC may resolve the issue, especially if a MathWorks-related product was recently installed or updated.
4. Check if the Code Generation option is present for a shipped model:
Open the following model:
and check for the Code Generation option in Model Configuration Parameters (CTRL+E).
If the code generation options are available for the shipped model:
a. Check if the model without the options has any issues in the Upgrade Advisor.
b. Try to re-create the model in a fresh file by copying and pasting all blocks.
If the code generation options are available for the shipped model and the issue persists for your model after the above checks, contact MathWorks Technical Support.
5. Check MATLAB path and cache:
>> rehash toolboxcache
If the issue is resolved by the above steps, then you may optionally take an additional step to ensure it does not reappear:
Note: The 'restoredefaultpath' command to restore the default path will remove any custom paths you may have created for the remainder of the current MATLAB session. (This may break the installation of e.g. third-party toolboxes ) The 'savepath' command above to save the path will make this change persist to new sessions. If you would like help backing up custom additions to your path please refer to the following link:https://www.mathworks.com/matlabcentral/answers/166871-how-will-running-the-restoredefaultpath-and-savepath-commands-affect-my-custom-paths-and-how-do-i-ba
If the issue persists after going through all the above steps, contact MathWorks Technical Support. When contacting MathWorks Technical Support, please include the outcome of the above checks and your license information.