Ошибка компилятора при запуске моделей Simulink из Visual Studio

Я собрал все подсистемы большой, сложной модели Simulink в серию DLL. Все они работают в Visual Studio, кроме одного. Тот, который не работает, является единственным, который требует заголовочный файл simstruc.h, и я получаю около 120 сообщений об ошибках, когда пытаюсь их скомпилировать. Большинство из них находятся в simstruc.h, но также и в последующих включениях, например, sfcn_bridge.h. Все они выглядят одинаково:

error C2143: syntax error : missing ';' before '*' c:\matlabr2011b_x86\rtw\c\src\sfcn_bridge.h (37)
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\matlabr2011b_x86\rtw\c\src\sfcn_bridge.h (37)

.

error C2143: syntax error : missing ';' before '*' c:\matlabr2011b_x86\simulink\include\simstruc.h (2135)
error C4430: missing type specifier - int assumed. Note: C++ does not support default-int c:\matlabr2011b_x86\simulink\include\simstruc.h (2135)

Код в строке в приведенном выше примере выглядит следующим образом:

sfcn_bridge.h (37):

SS_SimMode *simModePtr;

simstruc.h (2135):

SparseHeader* slvrJacobianMatrix;

Я был в состоянии скомпилировать программы, которые включают simstruc.h раньше, но вдруг это не работает. Может кто-то указать мне верное направление?

0

Решение

Проверьте, отсутствует ли какое-либо объявление вашего класса «;» в конце.

class AAA
{
}; <--- this one

Редактировать:

Попробуйте также эти советы.

  • Перестройте проект
  • Щелкните правой кнопкой мыши по каждому файлу cpp и нажмите «Компилировать», чтобы определить зараженные файлы.
  • Проверьте включите пути. специально вложенные папки в simulink включают каталог.
  • Перейдите к объявлению структуры SparseHeader и проверьте, не пропускается ли она из-за #ifdefs или любых определений препроцессора.
  • Если ваша кодовая база мала, закомментируйте половину, пока не получите скомпилированный код. Это не легко однако.
0

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

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

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