我已經將大型複雜Simulink模型的所有子系統編譯爲一系列dll。他們都在Visual Studio中工作,除了一個。不工作的是唯一一個需要simstruc.h頭文件的文件,當我嘗試編譯它時,會得到大約120條錯誤消息。它們大部分都在simstruc.h中,但也包含在後面,例如sfcn_bridge.h。他們都看同樣的方式:從Visual Studio運行Simulink模型時發生編譯器錯誤
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文件夾中? – sajas
是的,simstruc_types.h和simstruc.h位於相同的Matlab文件夾中,並且該文件夾在C/C++> General> Additional Include Directories中列出。這是正確的做法,對吧? –