问题描述
我正在运行一个 Debian (Buster) 容器,我的目标是编译我编写的一个依赖于 libgit2
的小程序。首先,我通过 libgit2-dev 软件包安装 libgit2
,我的 Makefile
具有以下内容:
gcc -O2 -fpic -shared -I /usr/local/include -lgit2 -o output.so my_app.c
但是,我宁愿有一个“更干净”的环境并通过 libgit-27 安装 libgit2
,AFAIK 只安装共享对象二进制文件,而不是还包括开发文件,如 {{1 }} 确实如此。
使用 libgit2-dev
我可以找到 find
文件的安装位置:
.so
并且我一直在尝试将 $ find / -name "*git2*" -print 2>/dev/null
/usr/lib/x86_64-linux-gnu/libgit2.so.0.27.7
/usr/lib/x86_64-linux-gnu/libgit2.so.27
/usr/share/doc/libgit2-27
/var/lib/dpkg/info/libgit2-27:amd64.list
/var/lib/dpkg/info/libgit2-27:amd64.symbols
/var/lib/dpkg/info/libgit2-27:amd64.md5sums
/var/lib/dpkg/info/libgit2-27:amd64.shlibs
/var/lib/dpkg/info/libgit2-27:amd64.triggers
与 .so
链接的几种组合,例如:
gcc
但到目前为止我总是收到以下错误:
gcc -O2 -fpic -shared -L /usr/lib/x86_64-linux-gnu/ -libgit2.so.27 -o output.so my_app.c
我明白这是对 C 编译如何工作的明显缺乏知识。我的两个问题是:
- 是否可以仅依靠
my_app.c:1:10: Fatal error: git2.h: No such file or directory #include <git2.h> ^~~~~~~~ compilation terminated.
Debian Buster 软件包而不是libgit2-27
来编译我的程序?如果没有,为什么? - 如果是,请提供示例和解释,我们将不胜感激!
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)