在Simulink代码生成结束时作为钩子运行packNGo
时,它给出了以下错误
Error using RTW.BuildInfo/checkForDups (line 35)
The following files have the same file name which cannot be packaged
together in a flat hierarchy:
/path/to/slprj/ert/file
/different/path/to/slprj/ert/file
有趣的是,实际上只存在其中一个文件。
此模型与packNGo成功的其他模型之间的一个区别是,此模型具有嵌套的引用模型层。即参考其他模型的参考模型。所谓的重复文件似乎是从这些重新引用的模型之一生成的头文件。
我可以为packNGo提供一个选项,以便它不使用平面层次结构吗?或者有人知道如何检查BuildInfo以找出为什么packNGo正在寻找不存在的文件?我得到了:
for ii=1:length(buildInfo.ModelRefs)
buildInfo.ModelRefs(ii).Path
end
返回实际存在的头文件的路径版本。
编辑:此问题类似于this rather ancient one,但我没有生成Makefile,因此接受的答案不适用。
答案 0 :(得分:0)
事实证明,尽管我付出了最大的努力,但仍然没有提供重要信息。我正在运行packNGo(buildInfo)
,而不是仅仅按照演示中显示的packNGo(buildInfo, 'minimalHeaders', false)
运行。
似乎无法将选项'minimalHeaders', false
与引用其他模型的模型结合使用。在这种情况下,packNGo会尝试包含甚至不存在的标题,并且会中断。
因此,目前解决方案是删除此选项,只需调用packNGo(buildInfo)
即可。我的初步测试表明我没有丢失任何头文件。