3

我正在使用一个java程序。它会自动在目录中创建日志文件,但我自己以不同的方式使用tee. 我找不到一种简单的方法来禁用日志,所以我求助于使用 nullfs。

我克隆了它

git clone https://github.com/xrgtn/nullfs.git

我跑了

make nul1fs

按照指示。它在一秒钟内终止,输出如下:

cc   "-lfuse"  nul1fs.c   -o nul1fs
nul1fs.c:13:18: fatal error: fuse.h: No such file or directory
compilation terminated.
make: *** [nul1fs] Error 1

我尝试apt-get source fuse将 fuse.h 复制到 nullfs 目录中,但没有任何改变。我安装了 FUSE。我正在运行 Debian wheezy x86_64。

4

1 回答 1

3

您需要 FUSE 的开发包,其中包含fuse.h您所缺少的。做一个apt-get install libfuse-dev,它应该工作。

复制源目录中的头文件不起作用,因为nul1fs.c您会注意到 fuse.h 包含在尖括号中。这意味着,将在系统范围的包含路径中搜索头文件。这通常意味着/usr/include


请注意,您可能会遇到此错误:

$ make nul1fs
cc   "-lfuse"  nul1fs.c   -o nul1fs
/tmp/ccbt0X7c.o: In function `main':
nul1fs.c:(.text+0x3c3): undefined reference to `fuse_main_real'
collect2: error: ld returned 1 exit status
make: *** [nul1fs] Error 1

这是一个带有解决方法的记录错误:将链接器标志放在文件列表之后。即编译 nul1fs:

cc nul1fs.c -o nul1fs -lfuse

而不是 with make nul1fs,归结为

cc -lfuse nul1fs.c -o nul1fs
于 2014-04-29T03:00:02.893 回答