Ho aggiunto una nuova funzione (fuse_lowlevel_notify_inval_directory) nella libreria dei fusibili dello spazio utente. La compilazione e la creazione di libfuse.so sono terminate senza errori. Ma quando la mia applicazione tenta di utilizzare questa nuova funzione, il linker sta gettando errore: undefined reference to `fuse_lowlevel_notify_inval_directory' collect2: ld returned 1 exit status disimbolo nm in uscita t vs T in una libreria condivisa in modo
Quando ho controllato con nm
nm ../libfuse.so | grep inval
00000000000154ed T fuse_invalidate
**000000000001e142 t fuse_lowlevel_notify_inval_directory**
000000000001e26c T fuse_lowlevel_notify_inval_entry
000000000001e1cb T fuse_lowlevel_notify_inval_inode
T/t significa che il simbolo è presente nella sezione di testo. se maiuscolo, il simbolo è globale (esterno). Sospetto che questo sia il problema. La nuova funzione aggiunta sta mostrando la lettera minuscola mentre altre funzioni più vecchie hanno la lettera maiuscola T. Qualche idea su cosa potrei fare male?
Apparentemente non si è riusciti a fornire il collegamento esterno della funzione. È necessario che il codice, almeno, sia più utile. –