【问题标题】:Generated C++ code using MATLAB Coder : Compilation Error "undefined reference to `rgb2gray_tbb_real64'"使用 MATLAB Coder 生成的 C++ 代码:编译错误“未定义对 `rgb2gray_tbb_real64' 的引用”
【发布时间】:2019-04-04 05:05:28
【问题描述】:

从 MATLAB 生成的 C++ 代码,用于使用 MATLAB Coder 将图像转换为灰度。在 Dev C++ 上编译时显示错误-undefined reference to rgb2gray_tbb_real64

其中一个生成的代码使用了头文件libmwrgb2gray_tbb.hScreenschot 它调用了一个函数rgb2gray_tbb_real64,它没有在任何地方定义。

如何解决这个问题?

【问题讨论】:

  • 请不要张贴代码和错误信息的图片。相反,将它们复制粘贴到您的问题中。图像不可搜索,并且对于视力障碍者来说不容易(或不可能)阅读。
  • 关于您的问题:您是否按照 Coder 中与链接相应库相关的说明进行操作?看起来需要链接一个库。

标签: c++ matlab matlab-coder


【解决方案1】:

图像处理工具箱代码生成支持 2 种不同的模式:

  1. 生成的代码使用特定于平台的优化共享库。这已为 MATLAB Coder 硬件目标 MATLAB Host Computer 和一些其他类似目标启用。
  2. 生成的代码是独立的、独立于共享库且可移植的

documentation 更详细地介绍了这些概念。使用选项 (1) 时,您必须使用 Coder 实用程序打包生成的代码才能重新定位它。 MATLAB Coder 知道如何正确收集和打包生成代码的所有依赖项。

要执行此打包,您可以使用 packNGo 函数、使用 MATLAB Coder 应用程序的 Finish Workflow 屏幕上的 Package 按钮或 MATLAB Coder 报告中的 Package Code 按钮。这些步骤在MATLAB Coder documentation 中有详细说明。要使用packNGo,您可以:

codegen myFunction -args {1,2,3} -config:lib -report
load(fullfile('codegen','lib','myFunction','buildInfo.mat'));
packNGo(buildInfo, 'fileName', 'myFunction.zip');

这将在您的当前目录中创建myFunction.zip,其中将包含您生成的代码以及它所依赖的所有头文件和库。然后,您可以将所有这些导入到您选择的 IDE 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-19
    • 2013-08-29
    • 1970-01-01
    • 2014-12-06
    • 2018-06-01
    • 2016-06-23
    相关资源
    最近更新 更多