Я установил библиотеку MathGL на мою машину с win7, используя бинарный файл windows, как в sourceforge. Я следовал инструкциям и включил папку mathgl, 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. дважды, после чего сделайте и сделайте установку с правами root / sudo. Иногда после установки вам может понадобиться обновить список библиотек — просто запустите ldconfig с правами root / sudo.
Есть несколько дополнительных опций, которые по умолчанию отключены. Это: 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). Для предварительно скомпилированного варианта нужно только распаковать архив в папку компилятора (то есть mathgl / lib в mingw / lib, mathgl / include в mingw / 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-код «»
Для более старых версий MathGL предполагается, что вы установили все дополнительные библиотеки (т.е. giflib — какой заголовочный файл отсутствует).
Для более новых версий MathGL все эти внешние зависимости «скрыты» и не требуются.
Других решений пока нет …