2016-10-12 11 views
0

私はCコードを使用してコンパイルするMatlabプログラムを持っています。現在、Cコードでは、ソースコードのすべての定義を含む#defineをMatlabのcコードに設定してください

defines.h 

ファイルを使用しています。 Matlabで問題を起こしている定義が1つあります。Matlabが.cファイルをコンパイルするたびにMatlabを "非アクティブ化"したいと思います。 gcc(Matlabなし)でソースコードをコンパイルするときに必要なので定義を削除したくありません。 Matlabのコンパイルプロセス内で値を「再定義」する方法はありますか?ここで

は、MATLABからの私のコンパイル処理のコードスニペットです:

mex CFLAGS='$CFLAGS -Wall -Wextra -pedantic -std=c99 -DMATLAB_MEX' function.c 

ありがとう!

+2

に次のようなものを持っていることを確認してくださいこれは動作しませんか? – houtanb

+0

ああ、私はそれが明らかであることを確認:)実際にそれについて考えることはありませんでしたが、はい、それは動作するはずです!ヒントをありがとう:)! – Alex

答えて

1

ちょうど私があなたの `defines.h`にあなたは`の#ifdef MATLAB_MEX`文を持っていることを推測している?あなたはdefines.h

#ifndef MATLAB_MEX 
    // code to "deactivate" when compling mex functions 
#endif 
関連する問題