より多くの時間を過ごした後、私はより多くのものを学び、自分の質問に答える巻き上げます。他の誰かがそれを将来必要とするなら、私はここに私のソリューションを掲載します。
コードがコンピュータに接続され、MATLABがインストールされていることを確認し、appleからコマンドラインツールもインストールしてください。次のように端末からarrayProduct.c(MathWorks社のMATLABに付属している)をコンパイルするには、以下のmakefileを呼び出します。
make mex=arrayProduct
お持ちの場合は、独自のニーズにメイクファイル(編集と呼ばれるファイルに同じフォルダに、このメイクファイルのコードを入れてください):
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
上記のメイクファイルは、最小限の実例ですが、必要に応じて編集する必要があります。
編集: オプション2 あなたはMATLABではなく、コンパイラオプションを含むXMLファイルを編集して、コマンドラインツールを使用する方法を理解することができます。 にあるファイルを開きます/ユーザー/ユーザー名/ライブラリ/アプリケーションサポート/ MathWorks/MATLAB/R2016b/mex_C_maci64.xml
ISYSROOTに関連するすべてのコンパイラとリンカーオプションを削除します。これにより、コンパイラはXCodeのSDKフォルダではなく、/ usr/includeなどのヘッダファイルを検索します。
私はgbをホームブリューからインストールでき、本質的にlinuxと同じコンパイラを使うと思います。私は私のマシンに両方を持っていて、matlabが両方を見ることができるかどうかを後で確認することができます。 – mpaskov
実際、私はgccがMacでサポートされているとは思っていません。xcodeしか使えません。とにかくありがとうございました! – mpaskov
下記のように、私は自分自身で解決策を見つけました。 – vindarmagnus