编译时找不到保险丝功能

我正在研究一个非常简单的文件系统,用于学习目的,它使用保险丝.但是,我无法编译它:

$gcc -Wall `pkg-config fuse --cflags --libs` myfs.c -o myfs
/tmp/cc6xhGKO.o: In function `main':
myfs.c:(.text+0x1602): undefined reference to `fuse_opt_add_arg'
myfs.c:(.text+0x164f): undefined reference to `fuse_main_real'
collect2: ld returned 1 exit status

pkg-config已经附加-lfuse(见下文).

我的系统信息:

$uname -a
Linux fpti 3.2.0-23-generic #36-Ubuntu SMP Tue Apr 10 20:39:51 UTC 2012 x86_64 x86_64 x86_64 GNU/Linux
$dpkg -l | grep fuse
ii  fuse                            2.8.6-2ubuntu2             Filesystem in Userspace
ii  libfuse-dev                     2.8.6-2ubuntu2             Filesystem in Userspace (development)
ii  libfuse2                        2.8.6-2ubuntu2             Filesystem in Userspace (library)
$pkg-config fuse --cflags --libs
-D_FILE_OFFSET_BITS=64 -I/usr/include/fuse  -pthread -lfuse -lrt -ldl

解决方法:

-l选项需要在需要它们的东西之后. –libs输出不起作用,因为它位于错误的位置.在myfs.c之后移动它

上一篇:c – 如何在使用g编译器时使用c样式初始化结构?


下一篇:udev – 允许保险丝组中的任何用户卸载