我正在尝试运行 GitHub 上用于布隆过滤器的 C 代码(https://github.com/jvirkki/libbloom)。当我尝试编译时,出现错误:fcntl.h 没有这样的文件或目录。我使用的是 Ubuntu 16.04。我还检查了查找 fcntl.h 的路径,它已经在系统中了 (/usr/include/x86_64-linux-gnu/bits/fcntl.h)。所以我不知道问题可能出在哪里。我也尝试安装必要的软件包,但问题并没有解决。
答案1
您需要安装 git 和 build-essential 包
sudo apt-get install git build-essential
然后克隆存储库并编译软件:
cd ~/Downloads
git clone https://github.com/jvirkki/libbloom.git
cd libbloom
make
然后检查库是否已编译:
$ ls ./build/libbloom.so
./build/libbloom.so
如果上述步骤没有帮助,请手动安装以下软件包:
sudo apt-get install libc6-dev linux-libc-dev linux-headers-$(uname -r)
答案2
你可以询问包装系统:
walt@bat:~(0)$ dpkg -S /usr/include/fcntl.h
libc6-dev:amd64: /usr/include/fcntl.h
甚至
$ dpkg -S fcntl.h| wc -l
45
查找 45 个包含fcntl.h