2012-12-22 63 views
0

我已經在我的win7機器上使用sourceforge中的windows二進制文件安裝了MathGL庫。我遵循了指令,並且已經包含了mathgl bin; include和lib文件到了相應的mingw文件夾中。 但是當我嘗試運行下面的測試例子:C + +的Mathgl繪圖庫安裝

#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的構建系統useded庫要運行它,應該執行命令:cmake的兩倍,後做,並與安裝根。/sudo權限,有時在安裝後您可能需要更新庫列表 - 只需使用root/sudo權限執行ldconfig即可。 有幾個附加選項默認關閉。它們是:enable-fltk,enable-glut,enable-qt用於啓用FLTK,GLUT和/或Qt窗口; enable-jpeg,enable-gif,enable-hdf5等,以啓用相應的文件格式;啓用 - 全部啓用所有附加功能。要使用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籤http://svn.code.sf.net/p/mathgl/code/mathgl-2x mathgl碼「」

+0

你的錯誤信息(來自你粘貼的日誌)似乎是你失蹤;在canvas.h中圍繞第409行 – Bill

+0

嗨 canavas.h其包含在包含> mgl2的目錄下,如安裝說明所示。 –

+0

可能是你可以看看這個文件來解決這個錯誤 - 「錯誤:預計';' '*'令牌之前。我不是這方面的專家,但這是我閱讀錯誤信息後的想法。 – Bill

回答

0

對於舊版本的MathGL,假設你有安裝了所有額外的庫(即giflib - 哪個頭文件不存在)。

對於更新的MathGL版本,所有這些外部依賴關係都是「隱藏」的而不是必需的。