读书人

unresolved external symbol,该怎么解

发布时间: 2012-08-28 12:37:01 作者: rapoo

unresolved external symbol
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlTerminate(void)" (?MdlTerminate@@YAXXZ)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl model_derivatives(void)" (?model_derivatives@@YAXXZ)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlUpdate(int)" (?MdlUpdate@@YAXH@Z)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlOutputs(int)" (?MdlOutputs@@YAXH@Z)
model_rtw.obj : error LNK2001: unresolved external symbol "struct ExternalOutputs_model model_Y" (?model_Y@@3UExternalOutputs_model@@A)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlStart(void)" (?MdlStart@@YAXXZ)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlInitializeSampleTimes(void)" (?MdlInitializeSampleTimes@@YAXXZ)
model_rtw.obj : error LNK2001: unresolved external symbol "void __cdecl MdlInitializeSizes(void)" (?MdlInitializeSizes@@YAXXZ)
model_rtw.obj : error LNK2001: unresolved external symbol "struct RT_MODEL_model * __cdecl model(void)" (?model@@YAPAURT_MODEL_model@@XZ)
我是通过RTW将Simulink模型转为c语言程序,然后用VC++ 对该c程序进行编译运行,通过了compile,但是在进行build时就有上面的错误,
#include <stdio.h>
#include "model.h"
#include "model_private.h"
#include "model_types.h"
#include "rt_nonfinite.h"
#include "rtmodel.h"
#include "rtwtypes.h"

extern void MdlInitializeSizes(void);
extern void MdlInitializeSampleTimes(void);
extern void MdlStart(void);
extern void MdlOutputs(int_T tid);
extern void MdlUpdate(int_T tid);
extern void MdlTerminate(void);
extern RT_MODEL_model *model(void);
这是要调用的外部函数。

[解决办法]
C++和C函数 编译时目标文件中的函数名不一样.C函数要在C++中调用要加个 extern "C" 要大写C

读书人网 >VC/MFC

热点推荐