Я собрал все подсистемы большой, сложной модели 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 раньше, но вдруг это не работает. Может кто-то указать мне верное направление?
Является ли файл заголовка simstruc_types.h представленным в папке include files? – sajas
Да, simstruc_types.h и simstruc.h находятся в одной папке Matlab, и эта папка указана в C/C++> Общие> Дополнительные каталоги Include. Это правильный способ сделать это, правильно? –