Укажите include-path и библиотечные файлы для генерации кода в Simulink Coder

Это сводит меня с ума: у меня есть модель Simulink с s-функцией, сгенерированной конструктором s-функций. Я использую некоторые внешние файлы заголовков и библиотек (lib/dll), и все работает в обычном режиме simulink.

Но если я попытаюсь запустить свою модель в быстром ускорителе или попытаюсь построить модель для генерации кода, я получаю LNK2019 ошибки. Кажется, что для генерации кода Simulink больше не знает о моих заголовочных файлах (включая папку) и моих lib-файлах (папке и файлах). Но я указал все это в команде mex для своей s-функции. В противном случае модель не будет работать в обычном режиме.

Есть ли что-то, что я пропустил, что я должен сделать для генерации кода?


person Lemonbonbon    schedule 28.08.2017    source источник
comment
смешивание S-функции и генерация кода из модели - это два совершенно разных процесса, которые ничего не знают друг о друге. Вам нужно перейти к параметрам генерации кода в разделе «Параметры моделирования» и указать заголовки и библиотеки в соответствующих параметрах.   -  person Phil Goddard    schedule 29.08.2017
comment
@Фил Это работает. Спасибо. Я просто пропустил настройки на этой панели и предположил, что Matlab найдет файлы так же, как и с m-файлами. Если вы опубликуете это как ответ, я могу принять это.   -  person Lemonbonbon    schedule 13.02.2019


Ответы (1)


С настройкой компилятора Microsoft я обнаружил, что это очень проблематично и вызывает эту ошибку не из-за моей настройки в Matlab, а из-за установки компонентов MSVC:

  1. Сначала необходимо удалить следующие два пакета (обязательно, очень важно): Распространяемый пакет Microsoft Visual C++ 2010 -x64 Распространяемый пакет Microsoft Visual C++ 2010 -x86
  2. Удалите текущую платформу .NET и установите более старую версию или нет.
  3. Установите Microsoft SDK 7.1, и этот процесс может занять некоторое время.
  4. Make sure that the PC has one of the following installed
    • Microsoft C++ 2010 SP1 Compiler Update for the Windows SDK 7.1
    • Visual Studio 2010 Professional или Express
person user3658273    schedule 31.03.2018