Некоторая сборка модели и проблемы во время выполнения происходят, когда я соединяю свое приложение реального времени со статическими библиотеками (.a
) или общие объекты (.so
).
При создании или выполнении в реальном времени приложение, которое соединяется со статическими библиотеками ссылок (.a
) или библиотеки общего объекта (.so
), существуют некоторые факторы, которые помогают вам пользоваться библиотеками, которые совместимы с QNX® Нейтрино® RTOS на целевом компьютере. Эти рекомендации полезны при поиске и устранении неисправностей использования библиотеки, включая:
Ссылка на библиотеку от Нейтрино QNX RTOS, который доступен в целевом пакете поддержки Simulink Real-Time
Общий объект, который включен в модель через блок FMU
Пользовательская статическая библиотека или общий объект, который соединяется с приложением реального времени
Эти обходные решения исследуют возможные проблемы.
Link to Accessible Libraries or Objects
Когда вы соединяетесь со статической библиотекой или общим объектом, библиотека или объект должны быть:
Совместимый с нейтрино QNX RTOS
Доступный для набора инструментальных средств во время сборки
Проверяйте, чтобы гарантировать, что вы следовали инструкциям для совместимости библиотеки. Смотрите Внешнюю Интеграцию кода Библиотек и Кода C/C++ с Моделями Simulink Real-Time. Проверяйте, что набор инструментальных средств может получить доступ к библиотеке во время сборки. Помните, что Нейтрино QNX не может обработать пробелы в пути к файлам.
Install Shared Objects on Target Computer
После того, как вы создадите приложение реального времени, которое соединяется с общим объектом, установка и приложение реального времени и общий объект на целевом компьютере. Скопируйте общие объекты в местоположение на целевом компьютере, где они могут быть найдены и загружены во времени выполнения. Рекомендуемыми местоположениями является /lib
, /usr/lib
, или /usr/local/lib
. Корневой доступ требуется, чтобы копировать файлы в эти местоположения.
Rebuild Real-Time Application When Rebuilding Static Libraries
Поскольку соединенные статические библиотеки включены в приложение реального времени, когда вы изменяете и восстанавливаете статическую библиотеку, вы восстанавливаете любые приложения реального времени, которые включают ту библиотеку. После восстановления статической библиотеки и приложения реального времени, переустановите приложение реального времени на целевом компьютере.