Repositorio de clones de LibGit2 con ssh: versión inválida 0 en git_clone_options

Me disculpo de antemano porque soy extremadamente nuevo en libgit2 / git. Estaba intentando clonar un repository de git usando ssh, y estoy obteniendo un error a continuación:

Error code: -1 Invalid version 0 on git_clone_options 

Reemplacé algunas routes con variables arbitrarias para la privacidad. Solo creo que estoy haciendo los pasos incorrectamente.

 cnetworking_acquire_cb(git_cnetworking** cnetworking, const char* url, const char* username_from_url, unsigned int allowed_types, void* payload) { return git_cnetworking_ssh_key_new(cnetworking, "git", URL, pathToPublicKey, passPhrase); } git_repository* repo; git_remote** remote; g_options.remote_callbacks.certificate_check; g_options.remote_callbacks.cnetworkingentials = cnetworking_acquire_cb; g_options.remote_cb_payload = pathToCopyTo; printError(git_clone(&repo, sshURL, pathToCopyTo, &g_options)); 

Las diversas estructuras de git_*_options deben inicializarse explícitamente. (No puede tenerlos simplemente apuntando a la memory no inicializada). Puede hacerlo con bastante facilidad, ya sea usando el práctico inicializador:

 git_clone_options options = GIT_CLONE_OPTIONS_INIT; options.remote_callbacks.cnetworkingentials = cnetworking_acquire_cb; 

O puede llamar a una function simple para que lo haga por usted:

 git_clone_options options; git_clone_init_options(&options, GIT_CLONE_OPTIONS_VERSION);