После тратить больше времени, я завелся обучение больше вещей и отвечая на мой собственный вопрос. Я отправлю свое решение здесь, если кому-то еще понадобится это в будущем.
Убедитесь, что шнур подключен к компьютеру и установлен MATLAB, а также установите инструменты командной строки из apple. Затем вызовите следующую Makefile для компиляции arrayProduct.c (поставляется с MATLAB) из терминала следующим образом:
make mex=arrayProduct
Поместите этот Makefile код в той же папке, в файл с именем Makefile (редактирования для собственных нужд, если у вас есть к):
all:
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 \
-fexceptions \
-O2 \
-fwrapv \
-DNDEBUG \
"/Applications/MATLAB_R2016b.app/extern/version/c_mexapi_version.c" \
$(mex).c
clang \
-Wl,-twolevel_namespace \
-undefined error \
-arch x86_64 \
-bundle \
-Wl,-exported_symbols_list,"/Applications/MATLAB_R2016b.app/extern/lib/maci64/mexFunction.map" \
$(mex).o \
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).mexmaci64
Вышеуказанный make-файл является минимальным рабочим примером, вы должны отредактировать его в соответствии с вашими требованиями.
Edit: Вариант 2 Вы можете сделать MATLAB понять, как использовать инструменты командной строки путем редактирования файла XML, содержащий параметры компилятора вместо этого. Откройте файл, расположенный по адресу /Пользователь/имя пользователя/Библиотека/Поддержка приложений/MathWorks/MATLAB/R2016b/mex_C_maci64.xml
Удалить все параметры компилятора и компоновщика, связанные с ISYSROOT. Это заставит компилятор искать файлы заголовков в/usr/include и т. Д., А не в папке SDK в XCode.
Я думаю, вы можете установить 'gcc' из homebrew и по существу использовать тот же компилятор, что и linux. У меня есть и на моей машине, и я могу проверить позже, если Matlab сможет видеть и то, и другое. – mpaskov
На самом деле я не думаю, что gcc поддерживается на Mac, я могу использовать только xcode, извините. – mpaskov
Спасибо в любом случае! Как вы видите ниже, я нашел решение самостоятельно. – vindarmagnus