【问题标题】:MATLAB/Simulink 3rd party target compilation error HRESULT = 80040154MATLAB/Simulink 3rd 方目标编译错误 HRESULT = 80040154
【发布时间】:2017-09-20 09:59:42
【问题描述】:

早上好,

我在尝试为第 3 方目标(在本例中为 vTAG)编译 Simulink 模型时遇到问题。每当我尝试构建我的应用程序时, ### Making extended map file extended_vc.map CoCreateInstance failed - HRESULT = 80040154 make: *** [extended_vc.map] Error -1 The make command returned an error of 2. An error occurred during the call to make. 显示错误信息。我正在使用 MATLAB 2016b 64 位运行 Visual Studio 2013 编译器。

现在,我无论如何都不是 Windows 高级用户,但到目前为止,我的研究表明,此错误消息与 Windows 中的 .dll 注册表问题有关,即 64 位编译器尝试访问 32 位编译器失败-位.dll。因此,我尝试使用 32 位版本的 MATLAB(2015b 和 Visual Studio 2010 编译器)编译我的应用程序,但我看到了完全相同的错误消息。考虑到HRESULT = 80040154 错误代码的性质,这让我觉得很奇怪。

我尝试编译的 Simulink 模型已被验证为正常,并且已在其他机器上编译,因此我可以将其视为问题的原因。此外,我之前构建的可以成功导出到我机器上的 vTAG 的其他模型现在不会导出并返回相同的 HRESULT = 80040154 错误消息。我联系了 MATLAB 支持,他们说他们无能为力,因为这是关于第 3 方 .dll 的问题。他们让我对通用目标运行示例编译(运行正常),但由于模型的性质和它使用的其他 3rd 方组件,这是一个不合适的目标。我试图避免联系 vTAG 支持。

在我看来,解决此问题的简单方法是运行 Regsvr32 并正确重新注册有问题的 .dll。但是我不知道如何找到正确的 .dll 来注册它。我已经尝试在我提到的 Visual Studio 版本上使用内置修复功能,尽管这并没有解决问题。

因此,我的问题是如何定位这个有问题的 .dll 以部署 Regsvr32 命令来注册它?我不愿跳入应用此处列出的有关错误消息的修复程序,因为我尝试使用 32 位版本的 MATLAB 作为解决方法,但这没有奏效。是否有任何其他 MATLAB/Simulink 用户之前遇到过此问题,并且知道任何其他解决方法可以让应用程序导出并显示此错误消息?

提前感谢任何人都可以对此有所了解!

【问题讨论】:

    标签: c# c++ matlab dll simulink


    【解决方案1】:

    我已经设法解决了这个问题。

    对于在 MATLAB 中遇到此问题并使用 3rd 方编译器为 3rd 方目标构建的任何其他人,导致该问题的 .dll 将位于负责编译到 3rd 的工具集的安装目录中党的目标。使用Regsvr32 注册 .dll 可以达到预期效果。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2011-07-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多