3

私はJavaプログラムを使用しています。ディレクトリにログファイルを自動的に作成しますが、tee. ログを無効にする簡単な方法が見つからないため、nullfs の使用に頼っています。

私はそれをクローンしました

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

そして私は走った

make nul1fs

指示通りに。1 秒以内に終了し、次の出力が表示されます。

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 fusefuse.h を nullfs ディレクトリにコピーしようとしましたが、何も変わりませんでした。FUSEをインストールしました。Debian wheezy x86_64 を実行しています。

4

1 に答える 1

3

fuse.h不足している を含む FUSE の開発パッケージが必要です。a を実行するapt-get install libfuse-devと、動作するはずです。

ソース ディレクトリにヘッダー ファイルをコピーしてnul1fs.cもうまくいきませんでした。つまり、ヘッダー ファイルはシステム全体のインクルード パスで検索されます。それは通常、 を意味し/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

ではなくmake nul1fs、に要約されます

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