我使用sourceforge中的windows binary在我的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”。
我的问题如下:
在安装过程中我错过了什么? 如果我没有找到那个特定标题的地方(我用Google搜索,没有:()?
我按照以下说明安装了该库:
“1.3安装
MathGL可以通过4种不同的方式安装。
从源代码编译。 cmake构建系统在库中使用。要运行它,应该执行命令:cmake。在使用root / sudo权限进行make和make安装之后两次。有时在安装后您可能需要更新库列表 - 只需使用root / sudo权限执行ldconfig。 默认情况下,还有几个其他选项已关闭。它们是:enable-fltk,enable-glut,enable-qt,用于触发FLTK,GLUT和/或Qt窗口; enable-jpeg,enable-gif,enable-hdf5等,用于启用相应的文件格式; enable-all用于启用所有其他功能。对于使用double作为基本内部数据类型,请使用选项enable-double。对于启用语言接口,请对所有语言使用enable-python,enable-octave或enable-all-swig。您可以使用WYSIWYG工具(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 checkout http://svn.code.sf.net/p/mathgl/code/mathgl-2x mathgl-code“”
答案 0 :(得分:0)
对于较旧的MathGL版本,假设您已经安装了所有其他库(即giflib - 哪个头文件不存在)。
对于较新的MathGL版本,所有这些外部依赖项都是“隐藏”而不是必需的。