C++ 编译错误外部接口Simulink
当我尝试使用外部接口将Simulink模型编译为C/C++代码时,出现编译器错误:C++ 编译错误外部接口Simulink,c++,matlab,interface,external,simulink,C++,Matlab,Interface,External,Simulink,当我尝试使用外部接口将Simulink模型编译为C/C++代码时,出现编译器错误: ert_main.cpp(118):错误C3861:“rtSetTFinalForExtMode”:找不到标识符 ert_main.cpp(129):错误C3861:“RTERTEXTMOSDESTARTMSG”:未找到标识符 NMAKE:致命错误U1077:““C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE”:返回代码“0x2” 停止 ma
ert_main.cpp(118):错误C3861:“rtSetTFinalForExtMode”:找不到标识符
ert_main.cpp(129):错误C3861:“RTERTEXTMOSDESTARTMSG”:未找到标识符
NMAKE:致命错误U1077:““C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE”:返回代码“0x2”
停止
make命令返回一个错误2
如果接口设置为“none”,则模型编译时不会出错
我正在使用Matlab2013a(Simulink 8.1)。使用的编译器是Microsoft Visual 2010 Professional 问题已经解决。对于面临相同问题的人: -西门子WiAC(示例)文档仅使用Matlab 2012b,考虑在使用不同版本时在2012B版本的Matlab中编译模型;p>
- 在Matlab工作区
中,进入cd
并运行C:\Program Files\Siemens\WinAC\WinAC Target\WinAC Target Files
-文件startup.m
- 不要更改当前searchpath位置
- 不要将任何其他源文件粘贴到此位置,否则会混淆要获取的编译器文件
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(343) : error C2065: 'ODK_YEAR_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(343) : error C2065: 'ODK_YEAR_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(346) : error C2065: 'ODK_MON_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(346) : error C2065: 'ODK_MON_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(349) : error C2065: 'ODK_DAY_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(349) : error C2065: 'ODK_DAY_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(352) : error C2065: 'ODK_HOUR_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(352) : error C2065: 'ODK_HOUR_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(355) : error C2065: 'ODK_MIN_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(355) : error C2065: 'ODK_MIN_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(358) : error C2065: 'ODK_SEC_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(358) : error C2065: 'ODK_SEC_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(361) : error C2065: 'ODK_MILLI_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(361) : error C2065: 'ODK_MILLI_MIN' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(364) : error C2065: 'ODK_WDAY_MAX' : undeclared identifier
C:\PROGRA~1\Siemens\WinAC\WINACT~1\WINACT~1\src\WinLCReadWriteData.cpp(364) : error C2065: 'ODK_WDAY_MIN' : undeclared identifier
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
要消除此错误,请打开WinLCReadWriteData.cpp
-文件并注释掉第343至365行
现在它编译得很好,没有错误。外部模式也可以正常工作。我假设在本例中,外部接口指的是外部模式。您的解决方案中包含的所有内容是否正确?您可能需要包含来自Matlab根的某些路径。是的,我指的是外部模式。我想所有的内容都是正确的。我已安装到目标(WinAC)的路径。我确实设法消除了两个“标识符未找到”错误中的一个,所以我猜这仍然是一个Matlab“路径”问题。但我不知道该包括哪些路径。