libgit2 を使用してブランチのすべてのコミットを確認するにはどうすればよいですか?
私はすでに次のコードを持っていますが、コンパイルしません。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <git2.h>
int main(int argc, char *argv[]){
git_repository *repo;
git_repository_open(&repo, ".");
git_odb *obj_db;
obj_db = git_repository_database(repo);
git_object commit;
git_revparse_single(&commit, repo, "HEAD");
git_repository_free(repo);
return 0;
}
GCC レポート:
log.c: In function ‘main’:
log.c:11:9: warning: assignment makes pointer from integer without a cast [enabled by default]
log.c:13:13: error: storage size of ‘commit’ isn’t known
-lgit2
フラグでコンパイルしました。root-commit から始めて、すべてのコミットをすばやく確認できる可能性はありますか?
更新 新しいコードは次のようになります。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <git2.h>
int main(int argc, char *argv[]){
git_repository *repo;
git_repository_open(&repo, ".");
git_odb *obj_db;
obj_db = git_repository_database(repo);
git_object *commit;
git_revparse_single(&commit, repo, "HEAD");
git_repository_free(repo);
return 0;
}
次のエラー メッセージが表示されます。
log.c:11: undefined reference to `git_repository_database'
log.c:14: undefined reference to `git_revparse_single'