fblinear4.cpp:75: 错误:‘memset’在此作用域中尚未声明
如果SUSE 下安装zhcon出问题,这里是第一个报错的地方。我也在网上搜了一下,有人说是gcc4.3开始头文件的变更,让我想起去看看这个版本的时 间,2006-05-04,即便是那个2.6的patch也已经过时了。但毕竟用zhcon的人已经越来越少了,所以我只要把思路给出来,也不去做 patch了。
在zhcon的make过程中,有很多次报错,说缺少memset,memcpy等函数的定义,是缺少#include <string.h>;有几次缺少abs,atoi,free等的定义,是缺少#include <stdlib.h>;还有报fd_set结构的定义,是缺少#include <sys/select.h>;另外,缺少几个常量定义,我从以前版本的内核头文件中找到,然后写入了src/lrmi.c中(好像就是这个 文件缺),共用到如下几个量:
#define VIF_MASK 0x00080000 /* virtual interrupt flag */
#define IF_MASK 0x00000200
#define IOPL_MASK 0x00003000
#define TF_MASK 0x00000100
如果有人 遇到同样的问题,希望对你有帮助。
所有增加的内容,写入到 config.h 中 :
include <memory.h>
#include <stdlib.h>
#include <sys/select.h>
#define VIF_MASK 0x00080000 /* virtual interrupt flag */
#define IF_MASK 0x00000200
#define IOPL_MASK 0x00003000
#define TF_MASK 0x00000100
另外这些以后还会有一个文件报错。到时候添加一个 #include <stdlib.h> 即可。
环境:kernel 2.6.27
gcc-4.3.2