2017-02-20 34 views
0

我正在將一箇舊項目升級到Matlab R2016b(來自R2010bSP1)。無法在R2016b中使用MinGW工具鏈構建Legacy SIL塊

在這個項目中,我們使用了一個工作流程,其中某些組件使用SIL塊功能編譯爲S函數,以加快仿真並在分發期間屏蔽IP屬性。

現在;升級到R2016b - 這不起作用了。

包含的LCC編譯器不再能夠執行這些類型的構建。建議使用MinGW(免費)編譯器作爲替代。在安裝MinGW工具鏈(本身有一些問題,但這些都很好地由Mathworks表示)之後,我可以使用這個工具鏈構建正常的SIL塊(或任何其他RTW構建),而沒有任何問題。

但是;當使用「silblocktype('legacy')」時,MinGW工具鏈不再被識別。我得到「沒有檢測到安裝的編譯器」...

注意:發佈silblocktype('legacy')是正確報告正在使用MinGW的版本和發佈此錯誤的版本之間的唯一區別。

我卸載並重新安裝MinGW作爲管理員以及用戶,沒有區別。

MinGW文件對機器上的所有用戶都是可讀/可執行的。

任何人都可以使用MinGW工具鏈確認構建SIL傳統塊嗎?

+0

由MathWorks支持確認爲錯誤。我正在等待更新。如果我得到它,我會發布細節。如果有人在此期間有解決方法,我會很高興知道它! – ErikP

回答

0

MathWorks爲我們提供了一個補丁來解決這個問題。

如果有人需要它;請聯繫瑞典MathWorks辦事處並參閱2017-03-13上提供的補丁以獲取「S-Function SIL MinGW」問題。

MathWorks此時並未指出修補程序是否將包含在後續版本中,因爲S函數構建樣式被標記爲「Legacy」。因此,對於R2016b以後的版本,問題可能會持續存在。