Не удалось скомпилировать rrd

У меня проблемы с компиляцией rrdtool в Visual Studio 2008.

У меня есть все zip-файлы, добавленные и извлеченные.

Я открыл rrd.sln и попробовал решение для сборки для каждого из трех проектов; rrdlib, rrdtool и rrdupdate, но я получаю сбои на всех них.

Я использую Windows 2003 R2 и получаю критические сбои, как показано ниже: ..\src\rrd_restore.c(235) : фатальная ошибка C1189: #error : "Не знаю, что делать с TIME_T, отличным от 4 или 8 байтов " rrd_resize.c

..\src\rrd_create.c(15): фатальная ошибка C1083: невозможно открыть включаемый файл: '../rrd_config.h': нет такого файла или каталога pngsize.c

Вот инструкции по установке, которым я следую: Вот пошаговые инструкции по сборке rrdlib.lib и rrdtool.exe версии 1.3.5 и новее с помощью Microsoft Visual Studio 2008 (9.0.x).

(1) Создайте папку с именем «contrib» в каталоге, где находится этот текстовый файл.

(2) Загрузите в эту папку следующие библиотеки, от которых зависит rrdtool:

- cairo:    http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo_1.8.10-3_win32.zip 
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/cairo-dev_1.8.10-3_win32.zip

- glib:     http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.24/glib_2.24.1-1_win32.zip
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/glib/2.24/glib-dev_2.24.1-1_win32.zip

- libpng:   http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng_1.4.0-1_win32.zip
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libpng-dev_1.4.0-1_win32.zip

- libxml2:  http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2_2.7.7-1_win32.zip
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/libxml2-dev_2.7.7-1_win32.zip

- pango:    http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28/pango_1.28.0-1_win32.zip
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/pango/1.28/pango-dev_1.28.0-1_win32.zip

- zlib:     http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib_1.2.4-2_win32.zip
  and       http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/zlib-dev_1.2.4-2_win32.zip

- fontconfig:  http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/fontconfig_2.8.0-2_win32.zip

- freetype: http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/freetype_2.3.12-1_win32.zip

- expat:    http://ftp.gnome.org/pub/gnome/binaries/win32/dependencies/expat_2.0.1-1_win32.zip

(3) Извлеките все ZIP-файлы в папку contrib. Не извлекайте каждую библиотеку в отдельный каталог. Мы хотим, чтобы все файлы были объединены в структуру, состоящую из папок «bin, include, lib...» и т. д.

(4) Откройте решение Visual Studio 2008 "rrd.sln" в папке win32 вашей папки rrdtool и создайте проект rrdlib (для библиотеки rrdtool), rrdtool (для исполняемого файла rrdtool в зависимости от библиотеки) или полное решение. Событие после сборки автоматически копирует все dll, необходимые rrdtool, рядом с .exe при сборке исполняемого файла. Эти библиотеки DLL должны быть доступны на всех хостах, где будет работать rrdtool.

Какие-либо предложения?


person daithi_dearg    schedule 06.06.2013    source источник


Ответы (1)


Это потому, что файл rrd_config.h отсутствует для сборки Win32. В Linux этот файл может быть создан в процессе настройки. Я избавился от этой проблемы, вручную изменив исходный код. Просто замените блок кода в rrd_restore.c:

#if SIZEOF_TIME_T == 4
        temp = strtol((char *)text,NULL, 0);
#elif SIZEOF_TIME_T == 8
        temp = strtoll((char *)text,NULL, 0);        
#else
#error "Don't know how to deal with TIME_T other than 4 or 8 bytes"
#endif

с:

temp = strtoll((char *)text,NULL, 0);

и удалите оператор включения в rrd_create.c:

#include "../rrd_config.h"

Тогда процесс сборки может быть завершен без ошибок.

Другой вариант: просмотрите URL-адрес как follow< /а>.

person Charlie    schedule 22.07.2013