如何使用Fuse文件系统进行转换?

时间:2010-02-19 19:56:30

标签: c fuse

我收到了这个错误:

  

错误:从int (*)(const char*, fuse_file_info*)int (*)(const char*, int)

的转换无效

当我做的时候

static struct fuse_operations vkfs_opers;

...

vkfs_opers.open = vkfs_open;

但函数声明为

static int vkfs_open (const char *path, struct fuse_file_info *fi)

并在结构fuse_operations中声明为

int (*open) (const char *, struct fuse_file_info *);

3 个答案:

答案 0 :(得分:1)

在加入<fuse.h>之前尝试#define FUSE_USE_VERSION 26。

解决方案的来源是this discussion

答案 1 :(得分:0)

你所做的似乎是正确的,所以我不知道你为什么会收到这个错误。我的第一个猜测是它的一些其他错误的副作用。这是您编译时遇到的唯一错误,还是其他错误?

答案 2 :(得分:0)

如果你有一个makefile添加到你的CFLAGS相应的定义-DFUSE_USE_VERSION = 26 所以你想要这样的一行:CFLAGS + = -DFUSE_USE_VERSION = 26