1

Objective-C プロジェクトでグラフをプロットするために MathGL ( mathgl.sourceforge.net ) を使用する必要がありますが、次のようなファイル datac_cf.h および canvas_cf.h のセマンティックの問題のためにコンパイルできません。

/usr/local/include/mgl2/datac_cf.h:80:17: 'mgl_datac_get_value' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

/usr/local/include/mgl2/datac_cf.h:206:17: 'mgl_datac_linear' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

/usr/local/include/mgl2/canvas_cf.h:494:17: 'mgl_cexpr_eval' has C-linkage specified, but returns user-defined type 'dual' (aka 'complex<mreal>') which is incompatible with C

"dual MGL_EXPORT ..." 行には常に 7 個あります。

cmake を使用して MathGL を正常にコンパイルし、「/usr/local/include」への Xcode プロジェクト ヘッダー検索パスと「/usr/local/lib」へのライブラリ検索パスを構成しました。また、libmgl.7.0.0.dylib をドラッグ アンド ドロップしました。私のプロジェクト..

これらのセマンティックの問題を取り除くにはどうすればよいですか?

4

1 に答える 1

1

私は FreeBSD を使用していますが、同様の問題があります。これらの警告を取り除く最も簡単な方法は、これらの警告を抑制するフラグを使用-Wno-return-typeして、またはより具体的にはフラグを使用して依存プログラムをコンパイルすることです。-Wno-return-type-c-linkage

それ以外に、ヘッダーにパッチを当てることができます。

于 2014-03-15T21:39:30.740 に答える