Сгенерированный код C++ из MATLAB для преобразования изображения в оттенки серого с использованием MATLAB Coder. При компиляции на Dev C++ выдает ошибку - undefined reference to rgb2gray_tbb_real64
Один из сгенерированных кодов использует заголовочный файл libmwrgb2gray_tbb.h
. Скриншот Вызывает функцию rgb2gray_tbb_real64
, которая нигде не определена.
Как в этом разобраться?
Относительно вашего вопроса: вы следовали инструкциям в Coder, связанным с компоновкой в соответствующих библиотеках? Похоже, нужно связать библиотеку.
Генерация кода Image Processing Toolbox поддерживает 2 различных режима:
MATLAB Host Computer
и нескольких других подобных целей.документация описывает эти концепции более подробно. При использовании варианта (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.
Пожалуйста, не размещайте изображения кода и сообщения об ошибках. Вместо этого скопируйте их в свой вопрос. Изображения недоступны для поиска и их нелегко (или невозможно) читать людям с нарушениями зрения.