MATLAB: Trying to get matlab mex file to work

ccppmex

I've been trying to run a c file in matlab with mex function. I have been getting this same error that's below. I cannot edit the names of the directory files because I do not have admin access. Everything was created automatically. I downloaded VS2010e as the compiler.
>> mex -v -g mexcallmatlab.c
-> Default options filename found in C:\Users\gsea\AppData\Roaming\MathWorks\MATLAB\R2010b
----------------------------------------------------------------
-> Options file = C:\Users\gsea\AppData\Roaming\MathWorks\MATLAB\R2010b\mexopts.bat
MATLAB = C:\Program Files (x86)\MATLAB\R2010b
-> COMPILER = cl
-> Compiler flags:
COMPFLAGS = /c /Zp8 /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD
OPTIMFLAGS = /O2 /Oy- /DNDEBUG
DEBUGFLAGS = /Z7
arguments =
Name switch = /Fo
-> Pre-linking commands =
-> LINKER = link
-> Link directives:
LINKFLAGS = /dll /export:mexFunction /LIBPATH:"C:\Program Files (x86)\MATLAB\R2010b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib /MACHINE:X64 -lkernel32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /manifest /incremental:NO /implib:"C:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\templib.x" /MAP:"mexcallmatlab.mexw64.map"
LINKDEBUGFLAGS = /debug /PDB:"mexcallmatlab.mexw64.pdb"
LINKFLAGSPOST =
Name directive = /out:"mexcallmatlab.mexw64"
File link directive =
Lib. link directive =
Rsp file indicator = @
-> Resource Compiler = rc /fo "mexversion.res"
-> Resource Linker =
----------------------------------------------------------------
--> cl /c /Zp8 /GR /W3 /EHs /D_CRT_SECURE_NO_DEPRECATE /D_SCL_SECURE_NO_DEPRECATE /D_SECURE_SCL=0 /DMATLAB_MEX_FILE /nologo /MD /FoC:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\mexcallmatlab.obj -I"C:\Program Files (x86)\MATLAB\R2010b"\extern\include /Z7 -DMX_COMPAT_32 mexcallmatlab.c
mexcallmatlab.c
Contents of C:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\mex_tmp.rsp:
C:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\mexcallmatlab.obj
--> link /out:"mexcallmatlab.mexw64" /debug /PDB:"mexcallmatlab.mexw64.pdb" /dll /export:mexFunction /LIBPATH:"C:\Program Files (x86)\MATLAB\R2010b\extern\lib\win64\microsoft" libmx.lib libmex.lib libmat.lib /MACHINE:X64 -lkernel32 user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib /nologo /manifest /incremental:NO /implib:"C:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\templib.x" /MAP:"mexcallmatlab.mexw64.map" @C:\Users\gsea\AppData\Local\Temp\mex_Xt7aAg\mex_tmp.rsp
LINK : warning LNK4044: unrecognized option '/lkernel32'; ignored
LINK : fatal error LNK1104: cannot open file 'mexcallmatlab.mexw64'
C:\PROGRA~2\MATLAB\R2010B\BIN\MEX.PL: Error: Link of 'mexcallmatlab.mexw64' failed.
??? Error using ==> mex at 208
Unable to complete successfully.
>>

Best Answer

Hi,
seems like you are trying to compile the example file in the directory where it comes with MATLAB. Under Windows 7 or Vista the UAC blocks write access to the C:\Program Files\... folders, which results in such an error. Try to copy that file to a folder where you have write access and compile it in there.