主要内容

在另一个开发环境中编译代码

此示例显示如何将生成的代码重新定位在另一个开发环境中。使用packngo创建包含生成的源代码,构建信息和cmake配置文件的zip文件。在目标开发环境中,使用Codebuild函数构建最终库或可执行文件。

配置模型

打开模型。

RTWDEMO_CodeBuild.

请勿自动编译代码,生成makefile或包生成的代码和工件。

set_param('rtwdemo_codebuild''generatemakefile''离开');set_param('rtwdemo_codebuild''packagegeneratedcodeandartifacts''离开');

生成代码和cmake配置文件

运行代码生成命令。

SLBUILD('rtwdemo_codebuild');
###启动串行模型参考代码生成build ###成功更新了:RTWDEMO_CodeBuild_ref ###开始构建过程的模型参考代码生成目标:RTWDEMO_CodeBuild ###成功完成代码生成:RTWDEMO_CodeBuild构建摘要代码生成目标:模型动作重建原因================================================================================ rtwdemo_codebuild_ref代码生成的rtwdemo_codebuild_ref.c不存在。顶级模型目标:模型动作重建原因===================================================================================== rtwdemo_codebuild代码生成的代码生成信息文件不存在。2个模型中的2个(0型号已达到约会)构建持续时间:0H 0M 29.238S

生成cmakelists.txt配置文件。

buildfolder = rtw.getbuilddir('rtwdemo_codebuild').BuildDirectory;CodeBuild(BuildFolder,'buildmethod''cmake');

包生成的代码和cmake配置文件

运行packngo,分层包装文件。

Packngo(BuildFolder,'packtype''等级''筑巢', 错误的);

切换到另一个开发环境

这是一个可选步骤。例如,如果您当前的开发环境是Linux计算机,则可以将ZIP文件复制到Windows计算机,然后在该计算机上执行后续步骤。

解压缩源代码和构建信息文件

解压缩文件。

RTWDEMO_CodeBuild_files =解压缩('rtwdemo_codebuild.zip');

识别包含顶部组件的解压缩代码的文件夹。

RTWDEMO_CodeBuild_top_component_folder = fileparts(rtwdemo_codebuild_files {1});

使用默认的工具链构建可执行文件

识别默认的工具链(基于MEX -Setup选择的编译器)。

defaulttoolchain = coder.make.getdefaultToolchain;

构建可执行文件。

CodeBuild(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER,'buildmethod',defaulttoolchain);

检查是否生成了可执行文件。

dir(fullfile(rtwdemo_codebuild_top_component_folder,'..''rtwdemo_codebuild *')))
RTWDEMO_CODEBUILD.EXE RTWDEMO_CODEBUILD_GRT_RTW.

使用默认模板makefile构建可执行文件

为当前平台选择模板makefile。

如果ispc.含有ert_vcx64.tmf的百分比,您必须安装Microsoft Visual C ++。如果%它未安装,指定ert_lcc64.tmf以使用LCC-Win64。templatemakefile ='ert_vcx64.tmf';别的templatemakefile ='ert_unix.tmf';结尾

构建可执行文件。

CodeBuild(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER,'buildmethod',templatemakefile);

构建共享库

在Windows上,创建指定导出的符号的定义文件。

如果ispc exportsfile = fullfile......(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER,'rtwdemo_codebuild.def');FID = FOPEN(ExportSfile,'W');fwrite(fid,['出口'新队]);fwrite(fid,['rtwdemo_codebuild_initialize'新队]);fwrite(fid,['rtwdemo_codebuild_step'新队]);fwrite(fid,['rtwdemo_codebuild_terminate'新队]);fclose(FID);结尾

构建共享库。

CodeBuild(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER,'buildvariant''shared_library');

构建静态库

CodeBuild(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER,'buildvariant''static_library');

使用cmake配置文件

使用cmakelists.txt文件,可以使用第三方工具CMake来为您选择的编译器环境生成Makefiles或工作区。如果在开发计算机上安装CMake,则通过在MATLAB命令窗口中运行这些命令来构建可执行文件:

CD(RTWDEMO_CODEBUILD_TOP_COMPONENT_FOLDER)
!cmake。
!cmake --build。

也可以看看

|

相关话题