Hi All,
I got this error when I'm trying to compile the mult.cpp function, which calls the showmsg():
>> mex mult.cpp dll2.lib
mult.obj : error LNK2019: unresolved external symbol showmsg referenced in function mdlOutputs mult.mexw64 : fatal error LNK1120: 1 unresolved externals
I compiled the dll in VS2010 (C++). The header:
#ifdef __cplusplus extern "C" { #endif namespace dllnamesp { class dllclass { public: static __declspec(dllexport) void showmsg(); }; } #ifdef __cplusplus } #endif------------------------------------------------*The C++ file:*#include <iostream>using namespace std;#include "printer.h"#ifdef __cplusplusextern "C" {#endifnamespace dllnamesp{ void dllclass::showmsg() { cout << "alma\n"; }}#ifdef __cplusplus}#endif
In the mult.cpp:
- -I included the header: #include "printer.h"
- -I declared the function: void __cdecl showmsg();
- -I called the function in: static void mdlOutputs(SimStruct *S, int_T tid) { showmsg(); }
The header,lib and dll are in the same folder with the C-MEX function. What Am I doing wrong?
Regards,
Daniel
Best Answer