2017-05-19 19 views
0

動作しない設定私は私のcppファイルに固有:EIGEN_STACK_ALLOCATION_LIMITは

#define EIGEN_STACK_ALLOCATION_LIMIT 0 

を追加固有

によって制限されるスタックサイズを変更したいです。 /mingw-w64/x86_64-7.1.0-win32-seh-rt_v5-rev0/mingw64/x86_64-:

はしかし、関係なく、私はEIGEN_STACK_ALLOCATION_LIMITに設定どのような値、コンパイルの出力は常に

Cが含まれていませんW64-MINGW32//固有/ SRC /コア/ utilに/ Macros.h含ま:799:0: 注:これは、前の定義の場所での#define EIGEN_STACK_ALLOCATION_LIMIT 131072

131072は正確に128キロバイトで、何もありません変更!どうして?私はここで間違っていますか? Eigenのために正しくEIGEN_STACK_ALLOCATION_LIMITを設定するには?また、g ++のスタックサイズ制限を調整する方法は?

PS:私は、私は大きな固定サイズの行列を使用しないでください知っています。しかし、ダイナミックを使用すると、不思議な編集の中断が発生したため、私はさまざまな方法で試しています。

答えて

2

あなたは、任意の固有のヘッダを含む前EIGEN_STACK_ALLOCATION_LIMITを定義する必要があります。スタックサイズの制限について

g++ -DEIGEN_STACK_ALLOCATION_LIMIT=0 {... other arguments ...} 

:それを行う最も簡単な方法は、コンパイラパラメータであるスタックオーバーフロー上のいくつかの関連の質問があります。それらのどれも適合しない場合は、新しい質問をしてください。