使用MATLAB編譯C(C++)程式時,有時會遇到下面的錯誤:
![](https://img.laitimes.com/img/9ZDMuAjOiMmIsIjOiQnIsIyZwpmL1gDN1MTM1AjMwIjMxgTMwIzLc52YucWbp5GZzNmLn9Gbi1yZtl2Lc9CX6MHc0RHaiojIsJye.jpg)
Error using mex
正在建立庫 computeScoreContrast.lib 和對象 computeScoreContrast.exp
computeScoreContrast.obj : error LNK2019: 無法解析的外部符号 mxErrMsgTxt,該符号在函數mexFunction 中被引用
computeScoreContrast.mexw64 : fatal error LNK1120: 1 個無法解析的外部指令
(聲明:我這裡的編譯環境是Windows系統,MATLAB2017a+Visual Studio 2015)
分析:遇到無法解析的符号,先檢查是否是符号拼寫錯誤。例如上面的錯誤顯示,實際應該為:“mexErrMsgTxt”。
修改方法:
打開原 .c 檔案,按Ctrl + F,找到程式中的名字“mxErrMsgTxt”,将其修改為“mexErrMsgTxt”,儲存。再在MATLAB中重新進行編譯即可。
PS:如需更多了解mexErrMsgTxt,可以打開MATLAB的幫助文檔進行檢視。