При построении возникает ошибка несоответствия версий компилятора.
Проверьте список поддерживаемых и совместимых компиляторов, доступных по адресу www.mathworks.com/support/compilers/current_release/.
Обновите или измените компилятор. Дополнительные сведения см. в разделе Выбор и настройка компилятора.
Перестроить модель.
Программа, созданная для модели, дает различные результаты моделирования модели. Созданный исходный код включает в себя арифметическую операцию, которая создает переполнение целого числа со знаком. Возможно, компилятор не реализует поведение обертки для условий переполнения целого числа со знаком. Или, если вы используете компилятор, который поддерживает упаковку, возможно, вы не настроили его для использования -fwrapv вариант.
Дополнительные сведения см. в разделе «Генератор кода использует неопределенное поведение языка C при переполнении целых чисел».
Если компилятор может принудительно выполнять перенос, включите его. Например, для компилятора gcc или компилятора на основе gcc, например MinGW, укажите параметр компилятора -fwrapv.
Выберите компилятор, проверяющий переполнение целых чисел.
Если у вас есть Embedded Coder ®, разработайте и примените библиотеку замены кода для замены кода, созданного для целых чисел со знаком.
Процесс построения создает ожидаемый исходный код, но исполняемая программа приводит к неожиданным результатам. Созданный исходный код отображается так, как и ожидалось. Однако исполняемая программа дает неожиданные результаты.
Выполните одно из следующих действий:
Понизьте уровень оптимизации компилятора.
Задайте для параметра конфигурации уровня оптимизации компилятора значение Custom.
В поле Пользовательские флаги оптимизации компилятора укажите более низкий уровень оптимизации.
Перестроить модель.
Отключить оптимизацию компилятора.
Установить уровень оптимизации компилятора в Optimizations off (faster builds).
Перестроить модель.
Дополнительные сведения см. в разделе Оптимизация компилятора управления и документация компилятора.
| Проблема | Действие |
|---|---|
Ошибка присутствует в конфигурации компилятора. | Убедитесь, что MATLAB ® поддерживает компилятор и версию, которые вы хотите использовать. Список поддерживаемых и совместимых компиляторов см. в разделе |
Переменные среды неправильно настроены для утилиты make, компилятора или компоновщика. Например, установка средств Cygwin на платформе Windows влияет на переменные среды, используемые другими компиляторами. | Просмотрите настройки переменных среды для системы с помощью |
Ошибка присутствует в пользовательском коде, указанном как S-функциональный блок, или в пользовательском коде. Например, код ссылается на файл заголовка, который компилятор не может найти. | Чтобы изолировать источник проблемы, удалите пользовательский код из модели, выполните отладку и перестроите модель. |
Модель включает в себя блок, такой как блок драйвера устройства, который не предназначен для использования с выбранным целевым системным файлом. | Удалите системный целевой файловый блок или настройте модель для использования с другим системным целевым файлом. |
Ошибка компоновщика относительно неопределенной ссылки на данные появляется, когда при построении модели создается исполняемая программа из иерархии ссылок на модель, и выполняются следующие условия:
| Чтобы решить проблему, выберите один из следующих способов:
|
При использовании компилятора LCC путь к папке модели содержит амперсанд (&), процесс построения приводит к ошибке.
Удалите амперсанд из пути к папке модели. Затем восстановите модель.
При компиляции кода ускорителя Rapid компилятор LCC может вызвать ошибку, связанную с предельными значениями строк. Код Rapid Accelerator может иметь большую длину строки из-за запутанности.
Скомпилировать код Rapid Accelerator с помощью компилятора, поддерживающего более длинные строки кода.