I'm developing a mex function on Mac OS X 10.11, Building with 'Xcode with Clang'. I need the .o files so I can debug and I had this working once before on a different Mac, but mex's behavior seems different now.
I run the following command:
mex -v mxisscalar.c -outdir /mex/mxiscalar
And the .o files are written to:
/var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14438061018957_17444/
This folder only exists until MEX completes, and then it is deleted. How do I output the .o files to somewhere reasonable and prevent them from being automatically deleted?
Output of the MEX:
Verbose mode is on.Neither -compatibleArrayDims nor -largeArrayDims is selected. Using -compatibleArrayDims. In the future, MATLAB will require the use of -largeArrayDims and remove the -compatibleArrayDims option. For more information: http://www.mathworks.com/help/matlab/matlab_external/upgrading-mex-files-to-use-64-bit-api.html.... Looking for compiler 'Xcode with Clang' ...... Looking for environment variable 'DEVELOPER_DIR' ...No.... Executing command 'xcode-select -print-path' ...Yes ('/Applications/Xcode.app/Contents/Developer').... Looking for folder '/Applications/Xcode.app/Contents/Developer' ...Yes.... Executing command 'which xcrun' ...Yes ('/usr/bin/xcrun').... Looking for folder '/usr/bin' ...Yes.... Executing command 'defaults read com.apple.dt.Xcode IDEXcodeVersionForAgreedToGMLicense' ...No.... Executing command 'defaults read /Library/Preferences/com.apple.dt.Xcode IDEXcodeVersionForAgreedToGMLicense' ...Yes ('8.0').... Executing command 'agreed=8.0 if echo $agreed | grep -E '[\.\"]' >/dev/null; then lhs=`expr "$agreed" : '\([0-9]*\)[\.].*'` rhs=`expr "$agreed" : '[0-9]*[\.]\(.*\)$'` if echo $rhs | grep -E '[\."]' >/dev/null; then rhs=`expr "$rhs" : '\([0-9]*\)[\.].*'` fi if [ $lhs -gt 4 ] || ( [ $lhs -eq 4 ] && [ $rhs -ge 3 ] ); then echo $agreed else exit 1fi fi' ...Yes ('8.0').... Executing command 'xcode-select -print-path' ...Yes ('/Applications/Xcode.app/Contents/Developer').... Looking for folder '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk' ...Yes.... Executing command 'xcode-select -print-path' ...Yes ('/Applications/Xcode.app/Contents/Developer').... Looking for folder '/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk' ...Yes.... Executing command 'echo /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk | rev | cut -c1-10 | rev | egrep -oh '[0-9]+\.[0-9]+'' ...Yes ('10.12').Found installed compiler 'Xcode with Clang'.Options file details------------------------------------------------------------------- Compiler location: /Applications/Xcode.app/Contents/Developer Options file: /Users/gregoryallan/Library/Application Support/MathWorks/MATLAB/R2016b/mex_C_maci64.xml CMDLINE200 : /usr/bin/xcrun -sdk macosx10.12 clang -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -bundle -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o -O -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/c_exportsmexfileversion.map" -L"/Applications/MATLAB_R2016b.app/bin/maci64" -lmx -lmex -lmat -lc++ -o /mex/mxiscalar/mxisscalar.mexmaci64 CC : /usr/bin/xcrun -sdk macosx10.12 clang DEFINES : -DMX_COMPAT_32 -DMATLAB_MEX_FILE MATLABMEX : -DMATLAB_MEX_FILE MACOSX_DEPLOYMENT_TARGET : 10.9 CFLAGS : -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk INCLUDE : -I"/Applications/MATLAB_R2016b.app/extern/include" -I"/Applications/MATLAB_R2016b.app/simulink/include" COPTIMFLAGS : -O2 -fwrapv -DNDEBUG CDEBUGFLAGS : -g LD : /usr/bin/xcrun -sdk macosx10.12 clang LDFLAGS : -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -bundle -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" LDBUNDLE : -bundle FUNCTIONMAP : "/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" VERSIONMAP : "/Applications/MATLAB_R2016b.app/extern/lib/maci64/c_exportsmexfileversion.map" LINKEXPORT : -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" LINKEXPORTVER : -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/c_exportsmexfileversion.map" LINKLIBS : -L"/Applications/MATLAB_R2016b.app/bin/maci64" -lmx -lmex -lmat -lc++ LDOPTIMFLAGS : -O LDDEBUGFLAGS : -g OBJEXT : .o LDEXT : .mexmaci64 SETENV : CC="/usr/bin/xcrun -sdk macosx10.12 clang"CXX="/usr/bin/xcrun -sdk macosx10.12 clang"CFLAGS="-fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -DMX_COMPAT_32 -DMATLAB_MEX_FILE"CXXFLAGS="-fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -DMX_COMPAT_32 -DMATLAB_MEX_FILE"COPTIMFLAGS="-O2 -fwrapv -DNDEBUG"CXXOPTIMFLAGS="-O2 -fwrapv -DNDEBUG"CDEBUGFLAGS="-g"CXXDEBUGFLAGS="-g"LD="/usr/bin/xcrun -sdk macosx10.12 clang"LDXX="/usr/bin/xcrun -sdk macosx10.12 clang"LDFLAGS="-Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -bundle -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" -L"/Applications/MATLAB_R2016b.app/bin/maci64" -lmx -lmex -lmat -lc++ -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map""LDDEBUGFLAGS="-g" DEVELOPER_DIR_CHECK : XCODE_DIR : /Applications/Xcode.app/Contents/Developer XCRUN_DIR : /usr/bin XCODE_AGREED_VERSION : 8.0 ISYSROOT : /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk SDKVER : 10.12 MATLABROOT : /Applications/MATLAB_R2016b.app ARCH : maci64 SRC : /mex/mxisscalar/mxisscalar.c;/Applications/MATLAB_R2016b.app/extern/version/c_mexapi_version.c OBJ : /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o;/var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o OBJS : /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o SRCROOT : /mex/mxisscalar/mxisscalar DEF : /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.def EXP : /mex/mxiscalar/mxisscalar.exp LIB : /mex/mxiscalar/mxisscalar.lib EXE : /mex/mxiscalar/mxisscalar.mexmaci64 ILK : /mex/mxiscalar/mxisscalar.ilk MANIFEST : /mex/mxiscalar/mxisscalar.mexmaci64.manifest TEMPNAME : /mex/mxiscalar/mxisscalar EXEDIR : /mex/mxiscalar/ EXENAME : mxisscalar OPTIM : -O2 -fwrapv -DNDEBUG LINKOPTIM : -O CMDLINE100_0 : /usr/bin/xcrun -sdk macosx10.12 clang -c -DMX_COMPAT_32 -DMATLAB_MEX_FILE -I"/Applications/MATLAB_R2016b.app/extern/include" -I"/Applications/MATLAB_R2016b.app/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -O2 -fwrapv -DNDEBUG /mex/mxisscalar/mxisscalar.c -o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o CMDLINE100_1 : /usr/bin/xcrun -sdk macosx10.12 clang -c -DMX_COMPAT_32 -DMATLAB_MEX_FILE -I"/Applications/MATLAB_R2016b.app/extern/include" -I"/Applications/MATLAB_R2016b.app/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -O2 -fwrapv -DNDEBUG /Applications/MATLAB_R2016b.app/extern/version/c_mexapi_version.c -o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o-------------------------------------------------------------------Building with 'Xcode with Clang'./usr/bin/xcrun -sdk macosx10.12 clang -c -DMX_COMPAT_32 -DMATLAB_MEX_FILE -I"/Applications/MATLAB_R2016b.app/extern/include" -I"/Applications/MATLAB_R2016b.app/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -O2 -fwrapv -DNDEBUG /mex/mxisscalar/mxisscalar.c -o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o/usr/bin/xcrun -sdk macosx10.12 clang -c -DMX_COMPAT_32 -DMATLAB_MEX_FILE -I"/Applications/MATLAB_R2016b.app/extern/include" -I"/Applications/MATLAB_R2016b.app/simulink/include" -fno-common -arch x86_64 -mmacosx-version-min=10.9 -fexceptions -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -O2 -fwrapv -DNDEBUG /Applications/MATLAB_R2016b.app/extern/version/c_mexapi_version.c -o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o/usr/bin/xcrun -sdk macosx10.12 clang -Wl,-twolevel_namespace -undefined error -arch x86_64 -mmacosx-version-min=10.9 -Wl,-syslibroot,/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -bundle -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/mxisscalar.o /var/folders/vh/k8t5_9s13bl4cn8rhc8dhngh0000gn/T/mex_14446221666685_17444/c_mexapi_version.o -O -Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/c_exportsmexfileversion.map" -L"/Applications/MATLAB_R2016b.app/bin/maci64" -lmx -lmex -lmat -lc++ -o /mex/mxiscalar/mxisscalar.mexmaci64MEX completed successfully.
Best Answer