我想在ubuntu上写一个基于GBDM的程序。我安装了 ubuntu、gcc 和 make。
安装(Os,gcc,make)后,我搜索与gdbm相关的文件(*.a,*.so,*.h),我只看到以下文件:
/usr/share/doc/libgdbm-compat4
/usr/share/doc/libgdbm6
/usr/lib/x86_64-linux-gnu/libgdbm_compat.so.4
/usr/lib/x86_64-linux-gnu/libgdbm.so.6
/usr/lib/x86_64-linux-gnu/libgdbm_compat.so.4.0.0
/usr/lib/x86_64-linux-gnu/libgdbm.so.6.0.0
我手动创建了软链接
/usr/lib/x86_64-linux-gnu/libgdbm.so
如
ln -s /usr/lib/x86_64-linux-gnu/libgdbm.so.6 /usr/lib/x86_64-linux-gnu/libgdbm.so
但是我找不到任何gdbm.h(或相关的.h),所以我下载了示例gdbm.h(但是我可以通过安装gdbm-dev等来获取它)。
我的问题是:
1- 存在库文件(libgdbm.so.6)但不存在相关头文件是否正常?
2-解决这个问题的最佳(或流行)方法是什么!
大多数 Linux 发行版(包括 Debian 和 Ubuntu)都有单独的编译软件及其开发头文件包(因为通常不需要这些头文件)。对于 Debian/Ubuntu,有一个约定,即使用
-dev
后缀来命名包含开发文件的包。
在您的情况下,您所需的文件(包括
libgdbm.so
和 gdbm.h
)包含在 libgdbm-dev 包中。你可以安装它
apt-get install libgdbm-dev
您可以通过搜索来找到包含特定文件的包 https://packages.ubuntu.com/#search_contents