0

我已经使用在 sourceforge 中找到的 windows 二进制文件在我的 win7 机器中安装了 MathGL 库。我已按照说明进行操作,并且已将 mathgl bin;include 和 lib 文件包含到相应的 mingw 文件夹中。但是当我尝试运行以下测试示例时:

#include <mgl2/mgl.h>
int main()
{
  mglGraph gr;
  gr.FPlot("sin(pi*x)");
  gr.WriteFrame("test.png");
}

它无法编译并给出以下错误:

构建日志:

           from /mingw/lib/gcc/mingw32/../../../include/mgl2/mgl.h:24,
                 from C:\Users\Roadmaster\Desktop\Plot_Xpto\xpto\main.cpp:1:
/mingw/lib/gcc/mingw32/../../../include/mgl2/canvas.h:409: error: expected ';' before '*' token
Process terminated with status 1 (0 minutes, 3 seconds)
2 errors, 0 warnings

缺少头文件:

#include <gif_lib.h>

我注意到预编译的 windows 文件夹没有那个特定的头文件“gif_lib.h”。

我的问题如下:

我在安装过程中错过了什么吗?如果我没有在哪里可以找到那个特定的标题(我用谷歌搜索过,什么也没有:()?

我已按照以下说明安装了库:

"1.3 安装

MathGL 可以通过 4 种不同的方式安装。

从源代码编译。库中使用了 cmake 构建系统。要运行它,应该执行命令: cmake 。两次,在它 make 并使用 root/sudo 权限进行安装之后。有时在安装后您可能需要更新库列表——只需使用 root/sudo 权限执行 ldconfig。有几个附加选项默认关闭。它们是:enable-fltk、enable-glut、enable-qt,用于 ebabling FLTK、GLUT 和/或 Qt 窗口;enable-jpeg、enable-gif、enable-hdf5等启用对应的文件格式;enable-all 用于启用所有附加功能。要使用 double 作为基本内部数据类型,请使用选项 enable-double。要启用语言接口,请对所有语言使用 enable-python、enable-octave 或 enable-all-swig。您可以使用所见即所得工具(cmake-gui)查看所有这些,或输入 cmake -D enable-all=on -D enable-all-widgets=on -D enable-all-swig=on 。在命令行中启用所有功能。

使用预编译的二进制文件。MinGW(平台 Win32)有二进制文件。对于预编译的变体,只需将存档解压缩到编译器的位置(即 mingw/lib 中的 mathgl/lib、mingw/include 中的 mathgl/include 等)或编译器中的任意其他文件夹和设置路径。默认情况下,预编译版本包括对 GSL (www.gsl.org) 和 PNG 的支持。因此,需要在系统上安装这些库(例如,可以在http://gnuwin32.sourceforge.net/packages.html找到)。 从标准包(RPM、deb、DevPak 等)安装预编译版本。注意,您可以通过命令从 sourceforge.net SVN 下载最新的源(可能不稳定)

svn 结帐http://svn.code.sf.net/p/mathgl/code/mathgl-2x mathgl-code""

4

1 回答 1

0

对于较旧的 MathGL 版本,假设您已经安装了所有附加库(即 giflib -- 缺少头文件)。

对于较新的 MathGL 版本,所有这些外部依赖项都是“隐藏的”并且不是必需的。

于 2013-05-04T14:31:17.337 回答