MATLAB: Error using mex : “Undefined symbols for architecture x86_64: … “

mex clang++

I am using MATLAB R2015b on Mac. I try to run a very simple cpp file using mex in MATLAB, like the following function:
#include "mex.h"
#include "stdio.h"
#include "iostream"
void testFile()
{
int i=4;
std::cout<<i;
}
But the following error occurs:
Building with 'Xcode Clang++'.
Error using mex
Undefined symbols for architecture x86_64:
"_mexFunction", referenced from:
-exported_symbol[s_list] command line option
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
However using "make testFile()" in Terminal works well. I studied some solutions in MathWorks but did not work.
Any help would be appreciated.
Thanks,

Best Answer

You MUST define a function named mexFunction in your MEX-file and that function must have a specific signature. Your source code file does not define a function with that name, so it is not a valid MEX-file and when you attempt to build it as though it was a valid MEX-file the compiler correctly complains.