Я хотел преобразовать свой код моделирования в 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++? Я не хочу делать его исполняемым на данный момент; Я просто хочу запустить его с помощью компиляторов и убедиться, что он работает. благодаря
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
и скомпилировал автономный исполняемый файл.
Кто-нибудь знает, как обращаться с.prj
вы должны запускать "mcc" на.prj файле, я верю
котировка
"Укажите, что mcc использует настройки, содержащиеся в указанном файле проекта.
-F project_name.prj указать имя_проекта в качестве имени файла проекта при вызове mcc. Эта опция позволяет передать файл.prj вместе со всеми его связанными настройками в mcc. Файлы проекта, созданные с использованием mcc или deploytool, имеют право использовать эту опцию. При использовании -F никакие другие аргументы не могут быть вызваны против mcc. "
mcc
является частью компилятора MATLAB, а не MATLAB Coder. stackoverflow.com/a/18128820/3297440 описывает различия.