Ошибка компиляции внешнего интерфейса Simulink

Я получаю ошибку компилятора, когда пытаюсь скомпилировать модель Simulink в код C / C ++ с внешний интерфейс:

ert_main.cpp(118) : error C3861: 'rtSetTFinalForExtMode': identifier not found
ert_main.cpp(129) : error C3861: 'rtERTExtModeStartMsg': identifier not found
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\cl.EXE"' : return code '0x2'
Stop.
The make command returned an error of 2

Модель компилируется без ошибок, если для интерфейса установлено значение «никто».

Я использую Matlab 2013a (Simulink 8.1). Используемый компилятор — Microsoft Visual 2010 Professional.

0

Решение

Проблема была решена. Для людей, которые сталкиваются с той же проблемой:
— В документации Siemens WinAC (пример) используется только Matlab2012b, рассмотрите возможность компиляции вашей модели в версии Matlab 2012b, когда вы используете другую версию;

  • В рабочей области Matlab cd ваш путь к C:\Program Files\Siemens\WinAC\WinAC Target\WinAC Target Files и запустить startup.m -файл;

  • НЕ меняйте текущее местоположение пути поиска;

  • НЕ вставляйте никакие другие исходные файлы в это место, в противном случае вы путаете компилятор с файлом, который нужно взять;

В моем случае я получил следующие ошибки:

    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.

Теперь он компилируется нормально, без ошибок. Внешний режим также работает без проблем.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]