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

0

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

Теги:
visual-studio
g++
matlab-coder

2 ответа

2

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

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

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

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

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

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

0

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

вы должны запускать "mcc" на.prj файле, я верю

котировка

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

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

  • 0
    Команда mcc является частью компилятора MATLAB, а не MATLAB Coder. stackoverflow.com/a/18128820/3297440 описывает различия.
  • 0
    Спасибо. Mcc запускает код в Matlab. Мне было интересно, как я могу запустить его на компиляторе C, таком как Visual Studio 2013 или g ++.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню