3

MathGL ライブラリの最初の例を C でコンパイルしようとしています。

http://mathgl.sourceforge.net/doc_en/Examples.html

#include <mgl2/mgl_cf.h>

int main()
{
  HMGL gr = mgl_create_graph(600,400);
  mgl_fplot(gr,"sin(pi*x)","","");
  mgl_write_frame(gr,"test.png","");
  mgl_delete_graph(gr);
}

aptitude を使用して libmgl-dev をインストールし、提供された最初のオプションを拒否しました。aptitude は多数の異なるプログラムを削除することを望んでいたため、2 つ目のオプションを受け入れました。

コンパイルしようとすると:

gcc test.c  -o test -lmgl
In file included from /usr/include/mgl2/mgl_cf.h:29:0,
                 from test.c:1:
/usr/include/mgl2/data_cf.h:318:78: error: unknown type name ‘bool’
 EXPORT mgl_fft(double *x, long s, long n, const void *wt, void *ws, bool inv);

そこで、 orや など#include <stdbool.h>のフラグを追加して試してみました。どれもうまくいきませんでした。私はフラグを追加しようとしました(私はそれを最後に置くべきだとさえ読みました)。-std=gnu11-std=c11-std=c99-lmgl

この例をコンパイルするにはどうすればよいですか?

4

1 に答える 1

1

これはバグであるライブラリの古いバージョンを持っているようです。

2013 年 5 月のこのバグ レポート を参照してください。バグを確認した Alexey Balakin は、MathGL の主任開発者です。

MathGL 2.3.3 バージョンのdata_ch.hでバグが修正されていることを確認してください。宣言は次のとおりです。

void MGL_EXPORT mgl_fft(double *x, long s, long n, const void *wt, void *ws, int inv);

bool置き換えられintます。

于 2015-11-05T19:30:11.157 に答える