Компилятор и ошибки компоновщика

Когда вы генерируете библиотеку, MEX-функцию или исполняемый файл из MATLAB® Coder™, генератор кода вызывает компилятор C/C++, чтобы создать бинарный артефакт. Ошибки сборки могут произойти во время этого процесса. Эти ошибки могут произойти во время этапа компиляции или соединяющегося этапа, или на других этапах сборки. Можно просмотреть компиляцию и соединение ошибок и предупреждений на вкладке Build Logs отчета генерации кода.

Определенные сообщения об ошибке и предупреждения, которые появляются, зависят от компилятора и набора инструментальных средств, который вы используете для своей платформы. Видеть текущий компилятор или выбрать различный, в командной строке, введите:

mex -setup

Ошибки сборки могут произойти по многим различным причинам. Чтобы диагностировать и зафиксировать ошибки, вам придется исследовать сообщения об ошибке, перечисленные в вашей документации компилятора. Следующее является некоторыми обычно происходящими проблемами, которые могут вести, чтобы создать ошибки, когда вы генерируете код.

Отказ задать основную функцию

Задайте основную функцию, чтобы сгенерировать исполняемый файл C/C++. Если вы не задаете основную функцию, ошибка сборки происходит. Основная функция содержится в отдельном основном файле. Когда вы генерируете код, MATLAB Coder создает пример основной файл, но автоматически не использует его для компиляции. Пример основные вызовы функции сгенерированный код с ложными входными значениями. Необходимо изменить основной пример или создать собственную основную функцию для реалистической обработки ввода и вывода.

Можно задать основной файл как параметр командной строки к codegen команда, или в приложении MATLAB Coder, или при помощи параметров конфигурации. Для получения дополнительной информации и примеры, см.:

Если вы хотите, чтобы генератор кода автоматически использовал сгенерированный пример основной файл, чтобы создать исполняемый файл в тестовых целях, можно установить GenerateExampleMain свойство настройки возражает против 'GenerateCodeAndCompile'. Смотрите включают сгенерированный код Используя пример основная функция.

Отказ задать внешние файлы кода

Если ваш код использует внешние функции C в coder.ceval, затем необходимо задать внешние файлы, содержащие те функции, или ошибки сборки могут произойти. Можно задать файлы как параметры командной строки к codegen команда, или в приложении MATLAB Coder, или при помощи параметров конфигурации. Для получения дополнительной информации и примеры, см.:

Ошибки, вызванные внешним кодом

При вводе внешний код в процесс сборки, внешний код может ввести свои собственные ошибки. Можно ввести внешний код через несколько каналов:

  • Внешние определения типа, которые вы создаете при помощи coder.opaque это задано во внешних заголовочных файлах.

  • Определения типа структуры, которые вы создаете при помощи coder.cstructname это задано во внешних заголовочных файлах.

  • Вызовы внешнего кода при помощи coder.ceval.

  • Спецификация внешних файлов типа "build" к codegen команда.

  • Включение внешних файлов кода coder.cinclude или coder.updateBuildInfo.

  • Включение внешнего кода через приложение, на вкладке Custom Code, или через параметры конфигурации генерации кода CustomSource и CustomInclude.

Этот список не является исчерпывающим. К ошибкам адресации, вызванным этими методами, необходимо исследовать и устранить проблемы с внешним кодом или разъединить внешний код из кода MATLAB.

Похожие темы

Внешние веб-сайты