2017-09-20 70 views
0

早上好,MATLAB/Simulink的第三方目標編譯錯誤HRESULT = 80040154

我運行到嘗試編譯Simulink模型的第三方目標,在這種情況下VTAG問題。每當我嘗試構建我的應用程序時,都會顯示一條 ### 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(使用Visual Studio 2010編譯器的2015b)編譯我的應用程序,但是我收到了完全相同的錯誤消息。考慮到HRESULT = 80040154錯誤代碼的性質,這在我看來很奇怪。

我試圖編譯的Simulink模型已經驗證爲確定並已在其他機器上編譯,因此我可以將此作爲問題的原因進行折扣。此外,我構建的其他型號可以在我以前的機器上成功導出到vTAG,現在不會導出並返回相同的HRESULT = 80040154錯誤消息。我聯繫了MATLAB支持人員,他們表示他們無法提供幫助,因爲這涉及到第三方.dll。他們讓我運行一個示例編譯到一個通用目標(可以運行),但由於模型的性質以及它使用的其他第三方組件,這是不合適的目標。我試圖避免聯繫vTAG支持。

在我看來,解決這個問題的簡單方法是運行Regsvr32並正確地重新註冊有問題的.dll文件。但是我不知道如何找到正確的.dll來註冊它。我試過在Visual Studio的版本中使用內置的修復功能,儘管這還沒有解決問題。

因此,我的問題是我將如何去找到這個有問題的.dll爲了部署Regsvr32命令來註冊它?我不願意跳過應用這裏列出的有關錯誤信息的修復程序,因爲我曾嘗試使用MATLAB的32位版本作爲解決方法,但這種方法無效。有任何其他的MATLAB/Simulink用戶之前遇到過這個問題,並知道任何其他解決方法,以獲取應用程序導出此錯誤消息?

預先感謝任何人都可以擺脫這個光!

回答

0

我設法解決了這個問題。

對於任何遇到MATLAB問題並使用第三方編譯器爲第三方目標構建的人,導致問題的.dll將位於工具集的安裝目錄中,負責編譯爲第三方目標。按照預期註冊與Regsvr32的.dll。