[Gpg4win-devel] gpgme in gpg4win?

Marcus Brinkmann marcus.brinkmann at ruhr-uni-bochum.de
Thu Nov 12 20:06:57 CET 2009


Nikolay Sklabinsky wrote:
> I am working on a project (windows, c#) which requires files to be
> encrypted/decrypted with GnuPG and sent over ftp. I have to do that
> programmatically and, if I am not mistaken, gpgme library would be just what
> I need. However, it is not present in the gpg4win 2.0.1 package. The package
> contains, however, several libraries with very similar names -
> libgpgme-11.dll, libgpgme++.dll and others. Are these the variations of
> gpgme for Windows? If so, what is the difference between them and which one
> should be used for my scenario? Where can I find header files for those
> libraries? Please help. Thank you.

As Drew said, libgpgme-11.dll is the one.  The 11 is the soname, it allows to
install several ABI-incompatible versions side by side.  This has not been
needed for a long time now, but you never know...

libgpgme-11.dll is for a pure Windows API, libgpgme-glib-11.dll is for a
glib-based API (the difference is in how file descriptors are utilized).  The
latter also requires glib (and dependencies, if any).

You also need libgpg-error-X.dll

The header file and import library is not part of gpg4win, as gpg4win is not a
 development package.  We do not have any plans to make it a development
package, as we don't need it for that, and doing so (and maintaining and
supporting it) is quite a bit of work.  Also, we do *all* of our development
on GNU/Linux using MingW32 so we don't really have any need for Windows-based
development packages as

The best way for you to proceed is to grab the gpg4win sources and build them
on a GNU/Linux based distribution.  You do *not* need to build everything.  If
you put only the libgpg-error and gpgme sources into the packages/ directory
(rather than downloading everything), you should be able to build just those
two.  You throw away the resulting NSIS installer and just use everything
under src/playground/install, ready for your use.

Alternatively, you can just build libgpg-error and gpgme using the normal
configure --host mingw32-msvc; make round trip, but this requires some extra
tender love to work, and gpg4win already has all the dirty tricks in it.  So,
if in trouble, consult its makefiles (ok, that's a bit of work, but you are in
 a messy business here anyway).

Thanks,
Marcus






More information about the Gpg4win-devel mailing list