3
私はいくつかの数値的な仕事をするC++ライブラリを持っています。主なパラメータはセグメントの数です。速度の面では、セグメント数はconst
ですが、-DSEGMENTS 32
を使用してコンパイル時に定義したいと思います。ヘッダーは次のようになります。const intに定義しますが、インストールされたヘッダに値を入れてください
#ifdef SEGMENTS
const int segments = SEGMENTS
#else
const int segments = 20
#endif
これは機能します。しかし、このライブラリにリンクしているプログラムは-DSEGMENTS
を得ていないので、segments
は常に20です。const
がなければ私は解決策を知っていますが、わかりません。 cmakeで可能であれば、extern
のトリックやプリコンパイル後にヘッダをインストールすると思います。
ヘッダーにセグメント数が表示されない場合、問題は次のとおりです。セグメント数を渡すにはどうすればよいですか? –
私は、CとC++が 'const'の扱いにおいて異なっていると思います。あなたの質問のテキストを反映するようにタグが変更されました – pmg