首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >编译rrd失败

编译rrd失败
EN

Stack Overflow用户
提问于 2013-06-06 20:36:07
回答 1查看 1.4K关注 0票数 0

我在使用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依赖的以下库下载到该文件夹中:

代码语言:javascript
复制
- 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的所有主机上可用。

有什么建议吗?

EN

回答 1

Stack Overflow用户

发布于 2013-07-22 14:23:40

这是因为缺少用于构建Win32的rrd_config.h文件。在Linux中,可以通过配置过程创建该文件。我通过手动修改源代码摆脱了这个问题。只需替换rrd_restore.c中的代码块

代码语言:javascript
复制
#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

通过以下方式:

代码语言:javascript
复制
temp = strtoll((char *)text,NULL, 0);

并删除rrd_create.c中的include语句:

代码语言:javascript
复制
#include "../rrd_config.h"

那么构建过程就可以毫无错误地完成了。

另一种选择是,以follow的身份浏览url。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16962257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档