我在使用Visual Studio2008编译rrdtool时遇到问题。
我已经添加和解压了所有的zip文件。
我打开了rrd.sln并尝试了3个项目的构建解决方案: rrdlib、rrdtool和rrdupdate,但我在所有这些项目上都失败了。
我正在使用Windows2003Error,我得到了如下的严重故障:..\src\rrd_restore.c(235):fatal error C1189:#error:“我不知道如何处理4或8字节以外的TIME_T”rrd_resize.c
..\src\rrd_create.c(15):致命错误C1083:无法打开包含文件:'../rrd_config.h':没有这样的文件或目录pngsize.c
以下是我正在遵循的安装说明:下面是使用Microsoft Visual Studio2008 (9.0.x)构建rrdlib.lib和rrdtool.exe 1.3.5及更新版本的逐步说明。
(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...“组成的结构中。etc文件夹。
(4)打开rrdtool -文件夹的win32文件夹中的Visual Studio2008解决方案"rrd.sln“,构建项目rrdlib (用于rrdtool-library)、rrdtool(用于rrdtool-可执行文件,取决于库)或完整的解决方案。当您生成可执行文件时,生成后事件会自动将rrdtool所需的所有dll复制到.exe旁边。这些DLL必须在运行rrdtool的所有主机上可用。
有什么建议吗?
发布于 2013-07-22 14:23:40
这是因为缺少用于构建Win32的rrd_config.h文件。在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语句:
#include "../rrd_config.h"那么构建过程就可以毫无错误地完成了。
另一种选择是,以follow的身份浏览url。
https://stackoverflow.com/questions/16962257
复制相似问题