带有c ++的S-Function。构建错误

时间:2013-07-17 07:44:25

标签: c++ matlab simulink

我是MATLAB的新手。我正在尝试使用matlab帮助中的S-Function示例构建我的modell。这是sfun_counter_cpp.cpp。源代码可在“matlabroot / simulink / src / sfun_counter_cpp.cpp”或http://www-rohan.sdsu.edu/doc/matlab/toolbox/simulink/sfg/sfun_c++2.html上找到。

首先,我使用“mex”命令构建C ++ S函数,如下所述: http://www.mathworks.de/de/help/simulink/sfg/building-c-s-functions.html。 构建成功并创建了sfun_counter_cpp.mexw32。之后,我创建了一个S-Function块,从我的程序框图中提供对sfun_counter_cpp的访问,单击“Incremental build”并收到错误消息“OPUS MAKE:不知道如何制作'sfun_counter_cpp.cppm50'。停止。”< / p>

*** Found User-Code File TestModell_usr.c from 05-Jul-2013 15:38:59
*** Found User Makefile TestModell_usr.mk from 05-Jul-2013 15:38:59
*** Optional User Variable Description File TestModell_usr.trc not available
.
### Processing Template Makefile: C:\dSPACE\matlab\rti1005\m\rti1005.tmf
### TestModell.mk which is generated from C:\dSPACE\matlab\rti1005\m\rti1005.tmf is up to date
### Building TestModell: dsmake -f TestModell.mk  GENERATE_REPORT=0 EXTMODE_STATIC_ALLOC=0 TMW_EXTMODE_TESTING=0 EXTMODE_STATIC_ALLOC_SIZE=1000000 EXTMODE_TRANSPORT=0

BUILDING APPLICATION "TestModell" (Multiple Timer Task Mode) 

WORK  DIRECTORY "c:\MyTest" 
BUILD DIRECTORY "c:\MyTest\TestModell_rti1005" 
TARGET COMPILER "C:\PPCTools37"  

COMPILING  "TestModell.c"  
COMPILING  "TestModell_data.c"  
COMPILING  "TestModell_trc_ptr.c"  
COMPILING  "rtGetInf.c"  
COMPILING  "rtGetNaN.c"  
COMPILING  "C:\PROGRA~2\MATLAB~1\rtw\c\src\rt_matrx.c"  
COMPILING  "rt_nonfinite.c"  
COMPILING  "C:\dSPACE\MATLAB\RTI1005\C\rt_printf.c"  
COMPILING  "C:\dSPACE\MATLAB\RTI1005\C\rti_sim_engine.c"  
OPUS MAKE: Don't know how to make 'sfun_counter_cpp.cppm50'. Stop. 
----------------------------------------------------------------------
*** Errors occurred during make process.
*** Inspect MATLAB Command Window for details.
*** Aborting RTI build procedure for model TestModell.
----------------------------------------------------------------------
*** Stopped RTI build procedure for model: TestModell.
----------------------------------------------------------------------

1 个答案:

答案 0 :(得分:0)

问题解决了。我设置了

  

USER_BUILD_CPP_APPL = ON

  

USER_SRCS =

USER_SRCS = sfun_counter_cpp.cpp 产生错误

< lnkppc > (E) #A0307-D Symbol: sfun_counter_cpp in file: sfun_counter_cpp.cppm50 already defined in file: sfun_counter_cpp.cppm50