2014-01-31 2 views
0

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

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

Является ли файл заголовка simstruc_types.h представленным в папке include files? – sajas

+0

Да, simstruc_types.h и simstruc.h находятся в одной папке Matlab, и эта папка указана в C/C++> Общие> Дополнительные каталоги Include. Это правильный способ сделать это, правильно? –

ответ

0

Проверьте, отсутствует ли какая-либо ваша декларация класса ";" в конце.

class AAA 
{ 
}; <--- this one 

Edit:

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

  • Перестроить проект
  • Щелкните правой кнопкой мыши по каждому файлу CPP и нажмите кнопку «Compile», чтобы определить зараженные файлы.
  • Проверить включить пути. специальные подпапки в каталоге simulink include.
  • Перейдите к объявлению структуры SparseHeader и проверьте, не пропускается ли оно никакими #ifdefs или любыми определениями препроцессора.
  • Если ваша база кода небольшая, закомментируйте ее половину, пока не получите компилируемый код. Однако это нелегко.
+0

Спасибо за подсказку, но я, к сожалению, не нашел недостающих полуколоний. –

Смежные вопросы