在 libgit2 中使用未声明的标识符 'git_diff_perfdata'

use of undeclared identifier 'git_diff_perfdata' with libgit2

我正在尝试编写一些使用 Libgit2 库中的 git_diff_perfdata 的代码。

git_diff_perfdata s;

但是,在我的 Mac 上编译时出现错误:

use of undeclared identifier 'git_diff_perfdata'

我的理解是 Libgit2 旨在通过包含 git2.h 来专门使用。对吗?

git_diff_perfdatasys/diff.h 中定义并在 status.h

中使用

我应该直接包含 sys/diff.h 吗?如果是这样,为什么?或者,我可能会犯什么错误?查看 header 代码,我看不出 sys/diff.h 是如何通过 git2.h.

包含的任何内容包含的

此外,据我所知,git_diff_perfdata 并不是一种不透明的数据类型(即只定义了指针)。

我正在使用从以下位置下载的代码: https://github.com/libgit2/libgit2/archive/v0.26.0.zip

sys 中的 headers 是 public API 的一部分,但级别较低。您可以将它们视为已制定 public 的内部实施细节,因为它们可能对应用程序开发人员有用。如果你想使用它们,直接包含它们。