The build process produces a compiler version mismatch error.
Check the list of supported and compatible compilers available at
www.mathworks.com/support/compilers/current_release/
.
Upgrade or change your compiler. For more information, see Choose and Configure Compiler.
Rebuild the model.
The program generated for the model produces different results from model
simulation results. The generated source code includes an arithmetic operation
that produces a signed integer overflow. It is possible that your compiler does
not implement wrapping behavior for signed integer overflow conditions. Or, if
you are using a compiler that supports wrapping, it is possible that you did not
configure it to use the -fwrapv
option.
For more information, see “Code Generator Relies on Undefined Behavior of C Language for Integer Overflows.”
If your compiler can force wrapping behavior, turn it on. For example,
for the gcc compiler or a compiler based on gcc, such as MinGW, specify
the compiler option -fwrapv
.
Choose a compiler that checks for integer overflows.
If you have Embedded Coder®, develop and apply a code replacement library to replace code generated for signed integers.
The build process generates expected source code, but the executable program produces unexpected results. The generated source code appears as expected. However, the executable program produces unexpected results.
Do one of the following:
Lower the compiler optimization level.
Set the Compiler optimization
level configuration parameter to
Custom
.
In the Custom compiler optimization flags field, specify a lower optimization level.
Rebuild the model.
Disable compiler optimizations.
Set Compiler optimization level to
Optimizations off (faster
builds)
.
Rebuild the model.
For more information, see Control Compiler Optimizations and your compiler documentation.
Issue | Action |
---|---|
Error is present in the compiler configuration. | Make sure that MATLAB® supports the compiler and version that you want to
use. For a list of currently supported and compatible compilers,
see |
Environment variables are incorrectly set up for your make utility, compiler, or linker. For example, installation of Cygwin tools on a Windows platform affects environment variables used by other compilers. | Review the environment variable settings for your system by
using the |
Error is present in custom code specified as an S-Function block or in Custom Code. For example, the code refers to a header file that the compiler cannot find. | To isolate the source of the problem, remove the custom code from the model, debug, and rebuild the model. |
The model includes a block, such as a device driver block, which is not intended for use with the currently selected system target file. | Remove the system target file-specific block or configure the model for use with another system target file. |
A linker error about an undefined reference to the data appears when the model build generates an executable program from the model reference hierarchy and these conditions are true:
| To resolve the issue, choose one of these methods:
|
If you use the LCC compiler and your model folder path contains an ampersand
(&
), the build process produces an error.
Remove the ampersand from the model folder path. Then, rebuild the model.
If you are compiling Rapid Accelerator code, the LCC compiler might produce an error related to line limits. Rapid Accelerator code can have longer line lengths due to obfuscation.
Compile your Rapid Accelerator code using a compiler that supports longer code lines.