git_clone错误消息断言失败:git_atomic_get(& git__n_inits)> 0

时间:2017-03-31 11:49:17

标签: c++ visual-studio-2013 libgit2

当我尝试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(),我这样做了,但之前我没有遇到过这样的错误。

由于

1 个答案:

答案 0 :(得分:1)

我忘了在此方法中调用函数git_libgit2_shutdown()和{{1}}。我用以前的方法称呼它,我想我也不必那样做。