构建过程中产生的编译器版本不匹配错误。
检查列表支持和兼容的编译器可在万博1manbetxwww.tianjin-qmedu.com/万博1manbetxsupport/compilers/current_release/
。
升级或更改您的编译器。欲了解更多信息,请参阅选择和配置编译器。
重建模型。
用于模型生成的程序产生从模型的仿真结果不同的结果。生成的源代码包括产生一个符号整数溢出的算术运算。这可能是你的编译器没有实现包装行为符号整数溢出条件。或者,如果您使用的编译器,支持环绕,有可能是你没有将其配置为使用万博1manbetx-fwrapv
选项。
欲了解更多信息,请参阅“代码生成器凭借C语言中的整数溢出的未定义的行为。”
如果你的编译器可以强制包装的行为,将其打开。例如,对于基于GCC,如MinGW的gcc编译器或编译器,指定编译器选项-fwrapv
。
选择一个编译器整数溢出检查。
如果您有嵌入式编码®,开发和应用代码替换库替换符号整数生成的代码。
构建过程产生预期的源代码,但可执行程序产生意外的结果。生成的源代码出现预期。然而,可执行程序会产生意想不到的效果。
执行下列操作之一:
降低编译器的优化程度。
设置编译器优化级别配置参数习惯
。
在里面自定义编译器优化标志字段中,指定一个较低的优化水平。
重建模型。
禁用编译器优化。
组编译器优化级别至关闭优化(更快的版本)
。
重建模型。
欲了解更多信息,请参阅控制编译器优化和你的编译器文档。
问题 | 行动 |
---|---|
错误存在于编译器配置。 |
确保MATLAB®万博1manbetx支持编译器和版本,您要使用。对于当前支持和兼容的编译器的列表,请参阅万博1manbetx |
环境变量正确设置你的化妆工具,编译器或连接器。例如,在Windows平台上安装的Cygwin的工具,会影响其他编译器环境变量。 |
通过检查你的系统环境变量的设置 |
错误存在于指定为自定义代码S-功能阻断或在自定义代码。例如,该代码是指编译器不能找到的头文件。 |
为了找出问题的根源,从模型中移除,调试的自定义代码和重建模型。 |
该模型包括一个块,诸如设备驱动器块,其不用于与当前选择的系统目标文件的使用。 |
卸下系统目标文件特定块或配置模型与其他系统的目标文件使用。 |
当模型构建从模型引用层次生成一个可执行程序并在这些条件都为真,将出现大约一个未定义的参照数据链接器错误:
|
要解决此问题,选择这些方法之一:
|
如果您使用LCC编译器和模型文件夹路径包含符号(&
),构建过程产生错误。
从模型中移除文件夹路径的符号。然后,重建模型。
如果您正在编译快速加速器代码时,LCC编译器可能会产生与线限制的错误。快速加速器代码可以具有较长的线路长度由于混淆。
使用支持长行代码编译器编译你快速加速的代码。万博1manbetx