Domanda

sto ottenendo questo errore:

  

Errore: la conversione non valida dal int (*)(const char*, fuse_file_info*) a int (*)(const char*, int)

quando faccio

static struct fuse_operations vkfs_opers;

...

vkfs_opers.open = vkfs_open;

ma la funzione è declarated come

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

e nella struttura fuse_operations esso declarated come

int (*open) (const char *, struct fuse_file_info *);
È stato utile?

Soluzione

Prova #define FUSE_USE_VERSION 26 prima di includere <fuse.h>.

Fonte di soluzione è questa discussione .

Altri suggerimenti

Quello che hai fatto sembra corretto, quindi non so il motivo per cui si stanno ottenendo quell'errore. La mia prima risposta sarebbe che è un effetto collaterale di qualche altro errore. È che l'unico errore che si ottiene quando si compila, o ci sono altre?

se hai un makefile aggiungere ai CFLAGS appropriato definire -DFUSE_USE_VERSION = 26 così si vuole una linea come questa: CFLAGS + = -DFUSE_USE_VERSION = 26

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top