主要内容

编译器和链接器错误

生成库、MEX函数或可执行文件时MATLAB®编码器™,代码生成器调用C/ c++编译器来构建二进制工件。在此过程中可能会出现构建错误。这些错误可能发生在编译阶段、链接阶段或构建的其他阶段。控件上的编译和链接错误和警告建立日志代码生成报告的TAB。

出现的特定错误消息和警告取决于用于平台的编译器和工具链。要查看当前编译器或选择不同的编译器,在命令提示符处输入:

墨西哥人设置

生成错误可能由许多不同的原因引起。要诊断和修复错误,您可能必须研究编译器文档中列出的错误消息。以下是在生成代码时可能导致构建错误的一些常见问题。

指定主函数失败

指定一个主函数来生成C/ c++可执行文件。如果未指定主函数,则会发生构建错误。main函数包含在一个单独的主文件中。当你生成代码时,MATLAB编码器创建一个示例主文件,但不会自动将其用于编译。示例main函数使用模拟输入值调用生成的代码。为了实现实际的输入和输出处理,必须修改示例main或创建自己的main函数。

的命令行参数指定主文件codegen命令,或在MATLAB编码器应用程序,或通过使用配置参数。有关更多信息和示例,请参见:

如果您希望代码生成器自动使用生成的示例主文件构建可执行文件以用于测试目的,您可以设置GenerateExampleMain属性“GenerateCodeAndCompile”.看到使用示例Main函数合并生成的代码

指定外部代码文件失败

如果您的代码使用外部C函数coder.ceval,则必须指定包含这些函数的外部文件,否则会发生构建错误。的命令行参数指定这些文件codegen命令,或在MATLAB编码器应用程序,或通过使用配置参数。有关更多信息和示例,请参见:

外部代码导致的错误

当您将外部代码引入构建过程时,外部代码可以注入它自己的错误。你可以通过多种渠道引入外部代码:

  • 创建的外部类型定义coder.opaque在外部头文件中定义的。

  • 创建的结构类型定义coder.cstructname在外部头文件中定义的。

  • 调用外部代码coder.ceval

  • 的外部构建文件的规范codegen命令。

  • 包含外部代码文件coder.cincludecoder.updateBuildInfo

  • 通过包含外部代码的应用程序,对自定义代码选项卡,或通过代码生成配置参数CustomSource而且CustomInclude

这个列表并不详尽。要解决由这些方法引起的错误,您必须检查并修复外部代码的问题,或者将外部代码与MATLAB代码解耦。

相关的话题

外部网站