当我尝试git_clone()
(使用libgit2)时,出现此错误消息
断言失败:git_atomic_get(& git__n_inits)> 0,文件C:\ data \ Install \ Git \ libgit2-0.25.1 \ src \ global.c,第199行
我的程序被Visual Studio中断:
R6010 - abort()被称为
有我的代码:
git_repository *cloned_repo = NULL;
cout << all_urls.at(num).c_str() << " -> " << clone_to.at(num).c_str() << endl;
int error = git_clone(&cloned_repo, all_urls.at(num).c_str(),clone_to.at(num).c_str(), &clone_opts);
if (error != 0) {
const git_error *err = giterr_last();
cerr << "error in clone num " << num << " -> message :" << err->message << endl;
}
else cout << endl << "Clone " << num << " succesful" << "(from url : " << all_urls.at(num) << " " << "to path : " << clone_to.at(num) << ")" << endl;
git_repository_free(cloned_repo);
我已正确设置clone_opts
(凭据),所以我真的不知道问题出在哪里。我之前在不同的项目中完成了git_clone()
,我这样做了,但之前我没有遇到过这样的错误。
由于
答案 0 :(得分:1)
我忘了在此方法中调用函数git_libgit2_shutdown()
和{{1}}。我用以前的方法称呼它,我想我也不必那样做。