Как сделать преобразование с использованием файловой системы Fuse? - PullRequest
0 голосов
/ 19 февраля 2010

Я получаю эту ошибку:

Ошибка: неверное преобразование из 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 ]

1 голос
/ 19 февраля 2010

Попробуйте #define FUSE_USE_VERSION 26 перед включением <fuse.h>.

Источником решения является это обсуждение .

0 голосов
/ 13 октября 2012

если у вас есть make-файл, добавьте к вашим CFLAGS соответствующее определение -DFUSE_USE_VERSION = 26 поэтому вам нужна строка, подобная этой: CFLAGS + = -DFUSE_USE_VERSION = 26

0 голосов
/ 19 февраля 2010

То, что вы сделали, кажется правильным, поэтому я не знаю, почему вы получаете эту ошибку.Мое первое предположение было бы, что это побочный эффект некоторой другой ошибки.Это единственная ошибка, которую вы получаете при компиляции, или есть другие?

...