0

我无法从 SFunction 参数读取字符串(文件名:'aFile.csv')。我得到的错误对我没有意义

我正在使用 MSVC++(2017)。

该错误似乎来自 mxGetString 内的 ssGetSFcParam

这是有问题的代码片段(在 mdlStart 方法中)

static void mdlStart(SimStruct *S)
{
 FILE* fp;
 char buffer[255];   

 char* fileStr;
 char* paramStr;
 int_T fstatus;
 int_T pstatus;

 const int_T flen = (int_T)mxGetN((ssGetSFcnParam(S, 0)))*sizeof(char)+1;
 const int_T plen = (int_T)mxGetN((ssGetSFcnParam(S, 1)))*sizeof(char)+1;

 fileStr = mxMalloc(flen);
 paramStr = mxMalloc(plen);

 fstatus = mxGetString((ssGetSFcParam(S,0)),fileStr,flen); 
 pstatus = mxGetString((ssGetSFcParam(S,1)),paramStr,plen);  

 real_T* Defval =   (real_T *)mxGetData(PARAM_DEF2(S));        


 fp = fopen(fileStr, "r");  
  // additional code here, but has nothing to do with the error         

 mxFree(flen);
 mxFree(plen);
 fclose(fp); 
}

使用 mex 时出错

创建库 FileReader.lib 和对象 FileReader.exp FileReader.obj:错误 LNK2019:未解析的外部符号 ssGetSFcParam 在函数 mdlStart FileReader.mexw64 中引用:致命错误 LNK1120:1 未解析的外部

4

1 回答 1

0

错误信息说明了一切:没有调用 S-Function 方法ssGetSFcParam。您需要使用ssGetSFcnParam,您已经使用了两次,然后还打错了两次。

于 2018-03-16T05:28:28.793 回答