0

我正在尝试在 QT 窗口中实现 MATHGL 图。适当库的编译进行得很好,并且示例提供的编译和运行没有错误。

在尝试构建示例代码时,当我尝试添加一个名为变量的单个字母时发生了一些奇怪的事情,而不管它的类型(int、double、其他)。

这个简单的代码说明了问题

#include <mgl2/mgl_cf.h>

int sample(HMGL gr, void *p)
{
  int I; /* REMOVE THIS LINE OR RENAME VARIABLE (TWO LETTERS) FOR COMPILATION  */  

  mgl_rotate(gr,40.,60.,0.);
  mgl_box(gr);

  return 0;
}

int main(int argc,char **argv)
{
  HMGL gr;
  gr = mgl_create_graph_qt(sample,"MathGL examples",0,0);
  return mgl_qt_run();
}

MATHGL 版本是 2.1.3.1,编译器是 gcc 4.7.2,使用的库:-lpng15 -lz -lm -lstdc++ -lmgl -lmgl-qt

编译错误如下:

file.c: In function ‘sample’:
file.c:5:7: error: expected identifier or ‘(’ before ‘__extension__’
file.c: In function ‘main’:
file.c:16:6: warning: assignment makes pointer from integer without a cast [enabled by default]

我不知道我在这里缺少什么,你能帮我吗?

提前致谢!!

4

1 回答 1

0

您的问题:I很可能是虚数单位的宏(如此所述)。

使用不同的变量名(并且通常避免使用全大写的变量名)。

于 2013-09-29T04:44:39.220 回答