Перейти к содержанию

    

Simulink - относительный путь кастомного кода

Подскажите пожалуйста как решить проблему вставки (#include) относительного пути кастомного кода в Simulation Target

при генерации C кода модели

т.е.

Simulink/Model Explorer/ Model Configuration / Simulation Target

Insert custom C code in generated: Source file #include "d:\project\source\example.c"

 

так вот указать относительный путь типа #include "..\source\example.c" никак не получается

не работает((

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Потому что для simulation target относительный путь другой. Код для simulation target генерируется в директорию slprj.

 

Ну, а вообще, вы что-то делаете не так. Если вам нужны #include в сгенерированном коде, то наверное, вы вызываете функции из вашего ручного код (судя по всему, из MATLAB Function или Stateflow). Для этого есть команда coder.cinclude.

Ну и само выражение #include example.c это прямо плохо-плохо по нескольким причинам (не буду в это вдаваться). Если нужно подключить ручной С код к процессу сборку модели, то есть настройка Additional Build Information -> Source files.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Спасибо за подсказку,

я действительно вызываю ручной код из Stateflow, посмотрел как можно воспользоваться настройками Additional Building Information

получается я там могу указать путь до папки с кастомным кодом и затем указать имена файлов с сорсом.

Но результат тот же, в сгенерированном коде тот же #include файла с абсолютным путем.

Что касается coder.cinclude, то буду пробовать.

Настораживает что #include это "плохо-плохо", пока не понимаю почему, просто я вижу в примерах подобные юзкейсы.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти
Авторизация