Сгенерированный код C ++ с использованием MATLAB Coder: Ошибка компиляции "неопределенная ссылка на` rgb2gray_tbb_real64 '" - PullRequest
0 голосов
/ 31 октября 2018

Сгенерированный код C ++ из MATLAB для преобразования изображения в оттенки серого с использованием MATLAB Coder. При компиляции на Dev C ++ он показывает ошибку- undefined reference to rgb2gray_tbb_real64

Один из сгенерированных кодов использует заголовочный файл libmwrgb2gray_tbb.h. Screenschot Вызывает функцию rgb2gray_tbb_real64, которая нигде не определена.

Как с этим разобраться?

1 Ответ

0 голосов
/ 02 ноября 2018

Генерация кода Image Processing Toolbox поддерживает 2 различных режима:

  1. Сгенерированный код использует оптимизированные для конкретной платформы совместно используемые библиотеки. Это включено для аппаратной цели MATLAB Coder MATLAB Host Computer и некоторых других подобных целей.
  2. Сгенерированный код является автономным, независимым от разделяемых библиотек и переносимым

Документация охватывает эти концепции более подробно. При использовании опции (1) вы должны упаковать сгенерированный код, используя утилиты Coder, чтобы переместить его. MATLAB Coder знает, как правильно собрать и упаковать все зависимости для вашего сгенерированного кода.

Для создания этой упаковки вы можете использовать функцию packNGo, кнопку Package на экране Finish Workflow приложения MATLAB Coder или кнопку Package Code в отчете MATLAB Coder. Эти шаги подробно описаны в документации MATLAB Coder . Для использования packNGo вы можете:

codegen myFunction -args {1,2,3} -config:lib -report
load(fullfile('codegen','lib','myFunction','buildInfo.mat'));
packNGo(buildInfo, 'fileName', 'myFunction.zip');

Это создаст myFunction.zip в вашем текущем каталоге, который будет содержать ваш сгенерированный код и все заголовки и библиотеки, от которых он зависит. Затем вы можете импортировать все из них в выбранную вами IDE.

...