Come fare una conversione utilizzando il file system del fusibile?
Domanda
sto ottenendo questo errore:
Errore: la conversione non valida dal
int (*)(const char*, fuse_file_info*)
aint (*)(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 *);
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