Запустите выходной проект Matlab Coder в Visual Studio или g ++

Я хотел преобразовать свой код моделирования в Matlab в C ++ и запустить его с помощью компилятора C ++, такого как Visual Studio или g ++. Я изменил свой код, чтобы успешно построить проект C ++, используя Matlab Coder.
Кодер возвращает файл .prj в верхнем каталоге проекта и десятки или сотни файлов c ++ source / header / object в каталоге dll. Я пытался открыть файлы .prj в Visual Studio 2012 или 2013 (пробовал в обеих версиях), но это не удалось, и они даже не могут открыть файл .prj.
Я позаботился о том, чтобы настроить Visual Studio как компилятор языка C ++ в Matlab, используя mex -setup.
У кого-нибудь есть идеи, как обрабатывать .prj и последующие файлы в Visual Studio или g ++? Я не хочу делать это исполняемым в данный момент; Я просто хочу запустить его с любым из компиляторов и убедиться, что он работает.
Спасибо

0

Решение

prj сгенерированный файл используется для графического интерфейса MATLAB Coder, а не для Visual Studio. Если дважды щелкнуть этот файл в MATLAB, откроется графический интерфейс Coder, и вы сможете сгенерировать код, используя его.

Для простого примера использования сгенерированного кода в Visual Studio вы можете обратиться к документация.

Если вы собираетесь использовать сгенерированный код на той же платформе, на которой вы используете MATLAB, я бы рекомендовал изменить тип вывода на статическую библиотеку (LIB) или общая библиотека (DLL). Это приведет к тому, что код на C или C ++ будет сгенерирован, а затем скомпилирован в библиотеку с использованием указанного вами компилятора. Затем вы можете написать код, который вызывает функции, объявленные в сгенерированном заголовочном файле (ах), и ссылаться в сгенерированной библиотеке при компиляции рукописного кода.

Для Visual Studio вам нужно добавить каталог codegen, codegen/lib/<proj_name> к пути включения и добавьте созданный файл LIB / DLL в качестве зависимости. С GCC вам нужно будет добавить тот же каталог к ​​пути включения при компиляции кода и ссылки в библиотеке.

Вторая половина моего другой ответ имеет больше информации в нем.

В качестве альтернативы, если у вас есть C main функция написана, вы можете установить тип вывода EXE а также указать основную функцию чтобы MATLAB Coder генерировал код, скомпилируйте его с main и скомпилировать автономный исполняемый файл.

2

Другие решения

У кого-нибудь есть идеи, как обращаться с .prj

я полагаю, вы должны запустить «mcc» для файла .prj

котировка

«Укажите, что mcc использует настройки, содержащиеся в указанном файле проекта.

-F project_name.prj
указать имя_проекта как имя файла проекта при вызове mcc. Эта опция позволяет файлу .prj вместе со всеми связанными с ним настройками возвращаться в mcc. Файлы проекта, созданные с помощью mcc или deploytool, могут использовать эту опцию. При использовании -F никакие другие аргументы не могут быть вызваны против mcc. «

0

По вопросам рекламы [email protected]