0

У меня возникли проблемы с компиляцией rrdtool с Visual Studio 2008.Не удалось скомпилировать rrd

У меня есть все файлы 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 в папку вно. Не извлекайте каждую библиотеку в свой собственный каталог . Мы хотим, чтобы все файлы были объединены в структуру, состоящую из файлов «bin, include, lib ...» etc.

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

Любые предложения?

ответ

1

Существует потому, что файл rrd_config.h отсутствует для здания Win32. В Linux этот файл может быть создан процессом configure. Я избавляюсь от этой проблемы, вручную изменяя исходный код. Просто замените блок кода в 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" 

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

Другой выбор, просмотрите URL как follow.