¿Existe una API de Subversion de Windows C ++ más simple o un ejemplo de .vcproj para minimal_client.c?

Siguiendo las líneas de mi pregunta anterior (respondida) …

SharpSvn hace que llamar al cliente de Subversion API sea simple:

SvnClient client = new SvnClient(); client.Authentication.DefaultCnetworkingentials = new NetworkCnetworkingential(username, password); client.CheckOut(new Uri("http://xxx.yyy.zzz.aaa/svn/repository"), workingCopyDir); 

Por otro lado, llamar a la API del cliente desde C / C ++, como se muestra en minimal_client.c requiere la encoding "más cerca del metal", por así decirlo , en Subversion.

¿Hay bibliotecas de Windows para C ++ en Visual Studio 2003 que presenten una interfaz más simple que la que utiliza minimal_client?

Si no lo hay, ¿hay un proyecto VS2003 C ++ (un file .vcproj) que demuestre que se puede ejecutar minimal_client? Puedo comstackr minimal_client.c y vincularlo usando las siguientes bibliotecas:

libsvn_client-1.lib libsvn_delta-1.lib libsvn_diff-1.lib libsvn_fs-1.lib libsvn_fs_base-1.lib libsvn_fs_fs-1.lib libsvn_ra-1.lib libsvn_ra_local-1.lib libsvn_ra_svn-1.lib libsvn_repos-1.lib libsvn_subr-1.lib libsvn_wc-1.lib libapr-1.lib libaprutil-1.lib xml.lib libneon.lib

pero cuando ejecuto mi aplicación (en el depurador o comienzo la versión de lanzamiento sin debugging), se ejecuta durante unos 20 segundos sin tocar la primera línea de main () y luego lanza esta exception:

Se produjo una exception no controlada del tipo 'System.TypeLoadException' en el Módulo desconocido.

Información adicional: No se pudo cargar el tipo apr_pool_t desde el ensamblado minimum_client, Version = 1.0.3477.16033, Culture = neutral, PublicKeyToken = null.

He intentado varias combinaciones de libsvn_ .lib y svn_ .lib en vano.

¿Alguna idea de lo que estoy haciendo mal?

EDITAR : Empecé de cero con un "Proyecto de console de Win32" (todavía en VS2003) y ahora puedo depurar las primeras líneas de mi aplicación. Pero ahora, en esta línea:

 if (svn_cmdline_init ("minimal_client", stderr) != EXIT_SUCCESS) 

Recibo una exception diferente (en el depurador o comienzo la compilation de lanzamiento sin debugging):

Excepción no controlada en 0x7c91b21a en Win32ConsoleProject_minimal_client.exe : 0xC0000005: location de escritura de violación de acceso 0x00000010.

EDITAR : Este hilo explica que este error es una falta de coincidencia de CRT entre svn y stderr en mi aplicación. Si no quiero comstackr Svn para que coincidan (no quiero), puedo pasar NULL en lugar de stderr (siempre que esté dispuesto a prescindir de los posts que irían a stderr). Cuando lo hice, mi la aplicación se ejecutó correctamente.

Parece que los contenedores de C ++ no se desbordan de la networking. Sin embargo, es posible que desee probar SVNCPP, que se puede cortar con RapidSVN.

Ver http://rapidsvn.tigris.org/ para más detalles (nota: no lo he probado).

¿Puedes actualizar a Visual C ++ 2005? Si es así, simplemente puede usar SharpSvn con C ++ / CLI.

¿O incluso tal vez se adhieren a VC2003 y van SharpSvn con Managed C ++? (No es que tenga ningún conocimiento sobre cómo od incluso si)

editar: bueno, la página principal de SharpSvn explícitamente dice que se requiere VC ++ 2005 SP1 …