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

Можно сгенерировать независимый исполняемый файл из системных объектов и блоков в DSP System Toolbox™ которые поддерживают генерацию кода. Этот исполняемый файл может выполняться вне MATLAB® и Simulink® окружения.

Чтобы сгенерировать исполняемый файл из системных объектов, необходимо установить MATLAB Coder™. Чтобы сгенерировать исполняемый файл из блоков Simulink, необходимо установить Simulink Coder в дополнение к MATLAB Coder.

Исполняемые файлы, сгенерированные из следующих объектов и блоков, полагаются на предварительно созданные файлы динамической библиотеки (.dll файлы) в комплекте с MATLAB.

Системные объекты

  • audioDeviceWriter

  • dsp.AudioFileReader

  • dsp.AudioFileWriter

  • dsp.FFT

    • Когда FFTImplementation установлено в 'FFTW'.

    • Когда FFTImplementation установлено в 'Auto', FFTLengthSource установлено в 'Property', и FFTLength не является степенью двойки.

  • dsp.IFFT

    • Когда FFTImplementation установлено в 'FFTW'.

    • Когда FFTImplementation установлено в 'Auto', FFTLengthSource установлено в 'Property', и FFTLength не является степенью двойки.

  • dsp.UDPReceiver

  • dsp.UDPSender

Объекты

  • dsp.ISTFT (когда длина БПФ, определяемая количеством входных строк, не является степенью 2)

Блоки

  • Audio Device Writer

  • Burg Method (когда длина БПФ не является степенью двойки)

  • From Multimedia File

  • To Multimedia File

  • FFT

    • Когда FFT implementation установлено на FFTW.

    • Когда вы снимаете флажок Inherit FFT length from input dimensions и устанавливаете FFT length значение, которое не является степенью двойки.

  • IFFT

    • Когда FFT implementation установлено на FFTW.

    • Когда вы снимаете флажок Inherit FFT length from input dimensions и устанавливаете FFT length значение, которое не является степенью двойки.

  • Inverse Short-Time FFT (когда входная длина не является степенью двойки)

  • Magnitude FFT

    • Когда FFT implementation установлено на FFTW.

    • Когда вы снимаете флажок Inherit FFT length from input dimensions и устанавливаете FFT length значение, которое не является степенью двойки.

  • Periodogram

    • Когда FFT implementation установлено на FFTW.

    • Когда вы снимаете флажок Inherit FFT length from input dimensions и устанавливаете FFT length значение, которое не является степенью двойки.

  • Short-Time FFT (когда длина БПФ не является степенью двойки)

  • UDP Receive

  • UDP Send

Выполнение исполняемого файла

Чтобы запустить соответствующий исполняемый файл за пределами MATLAB и Окружений Simulink, для примера Windows® командная строка на машине Windows, необходимо включить эти предварительно построенные .dll файлы. Метод включения .dll файлы зависят от того, установлен ли на внешней машине MATLAB или MATLAB compiler runtime (MCR). Среда выполнения MATLAB Compiler (MCR), также известная как MATLAB Runtime, является автономным набором общих библиотек, кода MATLAB и других файлов, что позволяет выполнять файлы MATLAB на компьютерах без установленной версии MATLAB. Для получения дополнительной информации о MCR, смотрите О MATLAB Runtime (MATLAB Compiler).

MATLAB или MCR не установлены на компьютере, на котором выполняется исполняемый файл

Чтобы запустить исполняемый файл, сгенерированный из вышеуказанных системных объектов и блоков на компьютере, на котором не установлены MATLAB или MCR, используйте packNGo функция. packNGo функция упакует все соответствующие файлы, включая предварительно построенные .dll файлы в сжатом zip-файле, чтобы можно было переместить, распаковать и перестроить проект в другой среде разработки, где MATLAB или MCR не установлены.

Вы можете использовать packNGo функция в командной строке или опция Package в приложении MATLAB Coder. Файлы упакованы в сжатый файл, который можно переместить и распаковать с помощью стандартной утилита. Для получения дополнительной информации о том, как упаковать код, сгенерированный из кода MATLAB, смотрите Переместить код, сгенерированный из кода MATLAB, в другую среду разработки. Для получения дополнительной информации о том, как упаковать код, сгенерированный из блоков Simulink, смотрите Перенос кода, сгенерированного из модели Simulink, в другую среду разработки.

MATLAB или MCR установлен на машине, на которой работает исполняемый файл

Включение предварительно построенных .dll файлы на машине с установленным MATLAB или MCR, установите ваше системное окружение, запустив команды ниже. Эти команды предполагают, что на компьютере установлен MATLAB. Если вы запускаете независимый исполняемый файл на машине с только MCR, и MATLAB не установлен, замените $MATLABROOT/bin/.... с путем к БПУ.

ПлатформаКоманда
Mac

setenv DYLD_LIBRARY_PATH "${DYLD_LIBRARY_PATH}:$MATLABROOT/bin/maci64" (csh/tcsh)

export DYLD_LIBRARY_PATH=$DYLD_LIBRARY_PATH:$MATLABROOT/bin/maci64 (Bash)

Для получения дополнительной информации смотрите Добавить путь к библиотеке в «DYLD_LIBRARY_PATH» в MAC.

Linux

setenv LD_LIBRARY_PATH ${LD_LIBRARY_PATH}:$MATLABROOT/bin/glnxa64 (csh/tcsh)

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$MATLABROOT/bin/glnxa64 (Bash)

Windows

set PATH=%PATH%;%MATLABROOT%\bin\win64

Похожие темы